Está en la página 1de 134

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERIA DE SISTEMAS

SISTEMA DE FACTURACION PARAMETRIZABLE VIA WEB


PARA FERRETERIAS BAJO LICENCIA LGPL

PROYECTO PREVIO A LA OBTENCIN DEL TTULO DE INGENIERO EN


SISTEMAS INFORMATICOS Y DE COMPUTACION

EDITH KARINA ATO SUNTAXI

Kari_jk8@hotmail.com

DIRECTOR: ING. FRANCISCO VILLAVICENCIO

fvillavi@yahoo.com

QUITO, ENERO 2010


DECLARACIN

Yo, Edith Karina ato Suntaxi, declaro bajo juramento que el trabajo aqu
descrito es de mi autora; que no ha sido previamente presentada para ningn
grado o calificacin profesional; y, que he consultado las referencias
bibliogrficas que se incluyen en este documento.

A travs de la presente declaracin cedo mis derechos de propiedad intelectual


correspondientes a este trabajo, a la comunidad, segn lo establecido por la
licencia LGPL.

Edith Karina ato Suntaxi


CERTIFICACIN

Certifico que el presente trabajo fue desarrollado por Edith Karina ato Suntaxi
bajo mi supervisin.

Ing. Francisco Villavicencio


DIRECTOR DE PROYECTO
AGRADECIMIENTOS

A mis padres quienes me apoyaron incondicionalmente,


Gracias a ellos soy un profesional
Y un buen ser humano.

A la POLI por ofrecerme unos de los ms grandes


Retos de mi vida, a mis maestros y amigos
Quienes me impartieron sus conocimiento.

Al Ing. Francisco Villavicencio por su tiempo y


Paciencia al guiarme en este proyecto.

Gracias a todos ellos y en especial al gran amor


De mi vida que siempre supo apoyarme
Y darme su aliento en el pasar de los das.
DEDICATORIA

A mis padres que siempre me dan su apoyo y


nimo para seguir con mis estudios.
Gracias a ellos he llegado a ser una buena profesional
Y un buen ser humano que son los
Valores ms importantes de la vida
Que se puede inculcar.

Al gran amor de mi vida que siempre me apoya,


Me ayuda a enfrentar el camino de la vida y
Sobre todo me regala felicidad.

Gracias a mi Dios y familia por forjarme y


Hacerme una buena persona en la vida.

Karina
I

CONTENIDO

INTRODUCCIN .......................................................................................................................... IX
1. CAPITULO 1 : DEFINICIN DEL PROYECTO ................................................................. 1
1.1. DESCRIPCIN DEL PROBLEMA ................................................................................. 1
1.1.1. ANALISIS DEL PROBLEMA................................................................................ 1
1.1.2. GLOSARIO DE TERMINOS ................................................................................. 3
1.1.2.1. SRI .............................................................................................................. 3
1.1.2.2. ACTIVOS Y GASTOS ................................................................................ 10
1.1.2.3. RATIOS O NDICES FINANCIEROS ......................................................... 11
1.2. SELECCIN DE LA METODOLOGA PARA EL DESARROLLO DEL SISTEMA ....... 13
1.2.1. APLICACIN DEL PROCESO UNIFICADO EN EL PROYECTO........................ 14
1.3. SELECCIN DE HERRAMIENTAS DE DESARROLLO .............................................. 15
1.3.1. SELECCIN DEL FRAMEWORK DE APLICACIN WEB ................................. 15
1.3.2. SELECCIN DE LA BASE DE DATOS .............................................................. 17
1.3.3. LICENCIA LGPL ................................................................................................ 17
2. CAPITULO 2: INGENIERIA DEL SISTEMA .................................................................... 21
2.1. MODELO DEL NEGOCIO ........................................................................................... 21
2.1.1. ESPECIFICACIN DE REQUERIMIENTOS. ...................................................... 21
2.1.1.1. Requerimientos Funcionales ................................................................................ 21
2.1.2. ANALISIS .......................................................................................................... 24
2.1.2.1. Diagrama de paquetes .................................................................................. 24
2.1.2.2. Descripcin del paquete de anlisis ............................................................... 25
2.1.2.3. Casos de uso ............................................................................................... 28
2.1.2.3.1. Caso de uso del paquete Gestin de Ventas ................................................ 28
2.1.2.3.2. Caso de uso del paquete Gestin de Compras ............................................. 38
2.1.2.3.3. Caso de uso del paquete Gestin de Inventario ........................................... 48
2.1.2.3.4. Caso de uso del paquete Gestin de Administracin .................................... 55
2.1.2.3.5. Caso de uso del paquete Gestin de Ingresos y Gastos ................................ 58
2.2. ARQUITECTURA DEL SISTEMA ............................................................................... 66
2.2.1. DIAGRAMA DE CLASES................................................................................... 66
2.2.2. DIAGRAMAS DE SECUENCIA .......................................................................... 68
2.2.2.2. Registrar Crdito de Venta ....................................................................... 70
2.2.2.3. Eliminar Crdito de Venta ......................................................................... 71
2.2.2.4. Listar Crdito de venta ............................................................................. 72
2.2.2.5. Registrar Detalle de pago de venta .......................................................... 73
2.2.2.6. Modificar Detalle de pago de venta .......................................................... 74
2.2.2.7. Registrar Devolucin de Venta ................................................................. 75
2.2.2.8. Listar Ventas ............................................................................................. 76
II

2.2.3. DIAGRAMA DE ACTIVIDAD ............................................................................ 77


2.2.3.1. Registrar Venta ........................................................................................... 77
2.2.3.2. Registrar cliente .......................................................................................... 78
2.2.3.3. Registrar crdito de venta............................................................................. 78
2.2.3.4. Registrar devolucin de venta....................................................................... 79
2.2.4. DISEO DE INTERFACES ................................................................................. 80
2.2.4.1. Diseo de Interfaz ingreso al sistema ............................................................ 80
2.2.4.2. Diseo de Interfaz de FERRASIS ................................................................. 80
2.2.4.3. Diseo de la Impresin de la Factura............................................................. 82
2.2.4.4. Diseo Navegacional ................................................................................... 83
2.3. DESARROLLO DEL SISTEMA ................................................................................... 86
2.3.1. IMPLEMENTACIN DEL SISTEMA.................................................................. 86
2.3.1.1. Diagrama de base de datos ........................................................................... 86
2.3.1.2. Diagrama de despliegue ............................................................................... 89
2.3.1.3. Herramientas utilizadas ................................................................................ 89
2.3.1.4. Pantallas de implementacin del sistema FERRASIS. .................................... 90
2.3.1.5. Trabajar con codeigniter .............................................................................. 93
3. PRUEBAS Y CONTROL DE CALIDAD DEL SW. ........................................................... 101
3.1. EVALUACIN CASO DE ESTUDIO ......................................................................... 101
3.1.1. CASOS DE PRUEBA PARA LOS CASOS DE USO REPRESENTATIVOS ......... 102
3.1.2. RESULTADOS OBTENIDOS EN LAS PRUEBAS ............................................. 110
4. CONCLUSIONES Y RECOMENDACIONES................................................................... 112
4.1. CONCLUSIONES ...................................................................................................... 112
4.2. RECOMENDACIONES ............................................................................................. 114
BIBLIOGRAFA: ...................................................................................................................... 115
Anexo: contenido del cd adjunto .............................................................................................. 118
III

NDICE DE FIGURAS

Figura 1. 1 Formato para la Factura ............................................................................................ 8


Figura 1. 2 Formato de Nota de venta Simplificado ..................................................................... 9
Figura 1. 3 Fases y flujos de trabajo del UP. ............................................................................. 14
Figura 2. 1 Paquetes del sistema ................................................................................................ 24
Figura 2. 2 Diagrama de Casos de Uso del paquete Gestin de Ventas ................................... 28
Figura 2. 3 Diagrama de Casos de Uso del paquete Gestin de Compras ................................ 38
Figura 2. 4 Diagrama de Casos de Uso del paquete Gestin de Inventario .............................. 48
Figura 2. 5 Diagrama de Casos de Uso del paquete Gestin de Administracin ....................... 55
Figura 2. 6 Diagrama de Casos de Uso del paquete Gestin de Ingresos y Gastos ................. 58
Figura 2. 7 Diagrama de clases Ventas - Compras ................................................................... 66
Figura 2. 8 Diagrama de clases - Parmetros ............................................................................ 67
Figura 2. 9 Diagrama de clases - Gastos ................................................................................... 67
Figura 2. 10 Diagrama de secuencia Registrar Venta Flujo Principal ..................................... 68
Figura 2. 11 Diagrama de secuencia - Registrar Venta Flujo Secundario (Registrar Cliente) .. 69
Figura 2. 12 Diagrama de secuencia Registrar Crdito de Venta Flujo principal .................... 70
Figura 2. 13 Diagrama de secuencia Eliminar Crdito de venta Flujo principal ..................... 71
Figura 2. 14 Diagrama de secuencia Listar Crdito de Venta Flujo principal .......................... 72
Figura 2. 15 Diagrama de secuencia Registrar detalle de pago de venta Flujo principal ....... 73
Figura 2. 16 Diagrama de secuencia Modificar detalle de pago de venta Flujo principal ....... 74
Figura 2. 17 Diagrama de secuencia Registrar Devolucin de Venta Flujo Principal ............. 75
Figura 2. 18 Diagrama de secuencia Listar Venta Flujo Principal ........................................... 76
Figura 2. 19 Diagrama de actividad Registrar venta ................................................................ 77
Figura 2. 20 Diagrama de actividad Registrar cliente .............................................................. 78
Figura 2. 21 Diagrama de actividad Registrar Crdito de Venta ............................................. 78
Figura 2. 22 Diagrama de actividad Registrar Devolucin de Venta ....................................... 79
Figura 2. 23 Interfaz ingreso al sistema ...................................................................................... 80
Figura 2. 24 Diseo de interfaz de FERRASIS .......................................................................... 81
Figura 2. 25 Diseo de impresin de factura .............................................................................. 82
Figura 2. 26 Navegacin Administrador ...................................................................................... 84
Figura 2. 27 Navegacin Cajero.................................................................................................. 85
Figura 2. 28 Navegacin Contador ............................................................................................. 85
Figura 2. 29 Navegacin Bodeguero .......................................................................................... 85
Figura 2. 30 Modelo Fsico de Datos del FERRASIS ................................................................. 88
Figura 2. 31 Diagrama de Despliegue ....................................................................................... 89
Figura 2. 32 Pantalla Principal .................................................................................................... 90
Figura 2. 33 Interfaz Registrar Venta ....................................................................................... 90
Figura 2. 34 Interfaz Gestionar Crdito y detalle de Pago ....................................................... 91
Figura 2. 35 Interfaz Gestionar Devolucin .............................................................................. 91
IV

Figura 2. 36 Interfaz Gestionar Cliente .................................................................................... 92


Figura 2. 37 Interfaz Listar Ventas ........................................................................................... 92
V

NDICE DE TABLAS

Tabla 1. 1 Fechas de Vencimiento para el pago al valor agregado IVA ....................................... 5


Tabla 1. 2 Fechas de vencimiento para el pago del Impuesto a la Renta .................................... 6
[]
Tabla 1. 3 Resumen de caractersticas del UP ........................................................................ 13
Tabla 1. 4 Flujos de Trabajo Fundamentales del Proyecto. ....................................................... 15
Tabla 1. 5 Comparacin de frameworks de aplicaciones Web ................................................... 15
Tabla 1. 6 Comparacin de servidores de bases de datos ......................................................... 17
[22] [] []
Tabla 1. 7 Tabla Comparativa de licencias ........................................................................ 20
Tabla 2. 1 Descripcin del paquete de anlisis........................................................................... 27
Tabla 2. 2 Especificacin de Casos de Uso Registrar venta ................................................... 30
Tabla 2. 3 Especificacin de Casos de Uso Registrar Crdito ................................................ 31
Tabla 2. 4 Especificacin de Casos de Uso Eliminar Crdito de Venta .................................. 31
Tabla 2. 5 Especificacin de Casos de Uso Listar crdito de Venta ....................................... 31
Tabla 2. 6 Especificacin de Casos de Uso Registrar Detalle de pago de Venta ................... 32
Tabla 2. 7 Especificacin de Casos de Uso Modificar Detalle de pago de Venta ................... 33
Tabla 2. 8 Especificacin de Casos de Uso Eliminar Detalle de pago de Venta..................... 33
Tabla 2. 9 Especificacin de Casos de Uso Registrar Devolucin de Ventas ......................... 34
Tabla 2. 10 Especificacin de Casos de Uso Modificar Devolucin de Ventas ....................... 34
Tabla 2. 11 Especificacin de Casos de Uso Eliminar Devolucin de Ventas ........................ 35
Tabla 2. 12 Especificacin de Casos de Uso Consultar Devolucin de Ventas ...................... 35
Tabla 2. 13 Especificacin de Casos de Uso - Registrar Cliente ............................................... 36
Tabla 2. 14 Especificacin de Casos de Uso - Modificar Cliente ............................................... 36
Tabla 2. 15 Especificacin de Casos de Uso - Eliminar Cliente ................................................. 37
Tabla 2. 16 Especificacin de Casos de Uso - Consultar Cliente............................................... 37
Tabla 2. 17 Especificacin de Casos de Uso Listar Ventas .................................................... 38
Tabla 2. 18 Especificacin de Casos de Uso Registrar compra .............................................. 40
Tabla 2. 19 Especificacin de Casos de Uso Registrar Crdito .............................................. 40
Tabla 2. 20 Especificacin de Casos de Uso Eliminar Crdito de Compra ............................. 41
Tabla 2. 21 Especificacin de Casos de Uso Listar crdito de Compra .................................. 41
Tabla 2. 22 Especificacin de Casos de Uso Registrar Detalle de pago de Compra.............. 42
Tabla 2. 23 Especificacin de Casos de Uso Modificar Detalle de pago de Compra.............. 42
Tabla 2. 24 Especificacin de Casos de Uso Eliminar Detalle de pago de Compra ............... 43
Tabla 2. 25 Especificacin de Casos de Uso Registrar Devolucin de Compras ................... 44
Tabla 2. 26 Especificacin de Casos de Uso Modificar Devolucin de Compras ................... 44
Tabla 2. 27 Especificacin de Casos de Uso Eliminar Devolucin de Compras ..................... 45
Tabla 2. 28 Especificacin de Casos de Uso Consultar Devolucin de Compras .................. 45
Tabla 2. 29 Especificacin de Casos de Uso - Registrar Proveedor .......................................... 46
Tabla 2. 30 Especificacin de Casos de Uso - Modificar Proveedor .......................................... 46
Tabla 2. 31 Especificacin de Casos de Uso - Eliminar Proveedor............................................ 47
VI

Tabla 2. 32 Especificacin de Casos de Uso - Consultar Proveedor ......................................... 47


Tabla 2. 33 Especificacin de Casos de Uso Listar Compras ................................................. 48
Tabla 2. 34 Especificacin de Casos de Uso Registrar Producto ........................................... 49
Tabla 2. 35 Especificacin de Casos de Uso Modificar Producto ........................................... 50
Tabla 2. 36 Especificacin de Casos de Uso Eliminar Producto ............................................. 50
Tabla 2. 37 Especificacin de Casos de Uso Consultar Producto........................................... 51
Tabla 2. 38 Especificacin de Casos de Uso Registrar Subcategora de producto. ............... 51
Tabla 2. 39 Especificacin de Casos de Uso Modificar Subcategora de producto. ............... 52
Tabla 2. 40 Especificacin de Casos de Uso Eliminar Subcategora de producto. ................. 52
Tabla 2. 41 Especificacin de Casos de Uso Consultar Subcategora de Producto ............... 53
Tabla 2. 42 Especificacin de Casos de Uso Registrar Categora de producto ...................... 53
Tabla 2. 43 Especificacin de Casos de Uso Modificar Categora de producto ...................... 54
Tabla 2. 44 Especificacin de Casos de Uso Eliminar Categora de producto ....................... 55
Tabla 2. 45 Especificacin de Casos de Uso Registrar Empleado.......................................... 56
Tabla 2. 46 Especificacin de Casos de Uso Modificar Empleado.......................................... 56
Tabla 2. 47 Especificacin de Casos de Uso Eliminar Empleado ........................................... 57
Tabla 2. 48 Especificacin de Casos de Uso Consultar Empleado ......................................... 57
Tabla 2. 49 Especificacin de Casos de Uso Registrar Categora de Gasto .......................... 59
Tabla 2. 50 Especificacin de Casos de Uso Modificar Categora de Gasto .......................... 59
Tabla 2. 51 Especificacin de Casos de Uso Eliminar Categora de Gasto ............................ 60
Tabla 2. 52 Especificacin de Casos de Uso Registrar Gasto ................................................ 60
Tabla 2. 53 Especificacin de Casos de Uso Modificar Gasto ................................................ 61
Tabla 2. 54 Especificacin de Casos de Uso Eliminar Gasto .................................................. 61
Tabla 2. 55 Especificacin de Casos de Uso Consultar Gasto ............................................... 62
Tabla 2. 56 Especificacin de Casos de Uso Generar pago de Impuesto .............................. 62
Tabla 2. 57 Especificacin de Casos de Uso Mostrar rentabilidad.......................................... 63
Tabla 2. 58 Especificacin de Casos de Uso Listar productos bajo stock .............................. 64
Tabla 2. 59 Especificacin de Casos de Uso Listar pagos pendientes a proveedores ........... 64
abla 2. 60 Especificacin de Casos de Uso Listar pagos pendientes de clientes ................... 65
Tabla 2. 61 Caractersticas visuales del FERRASIS .................................................................. 82
Tabla 2. 62 Convenciones del modelo de datos ......................................................................... 87
Tabla 2. 63 Herramientas usadas para el desarrollo del FERRASIS ......................................... 89
Tabla 3. 1 Caso de Prueba: Registrar Venta ............................................................................ 102
Tabla 3. 2 Caso de Prueba: Registrar Crdito de venta ........................................................... 103
Tabla 3. 3 Caso de Prueba: Eliminar crdito de venta.............................................................. 103
Tabla 3. 4 Caso de Prueba: Eliminar crdito de venta.............................................................. 104
Tabla 3. 5 Caso de Prueba: Registrar Devolucin de venta ..................................................... 105
Tabla 3. 6 Caso de Prueba: Modificar Devolucin de venta ..................................................... 105
Tabla 3. 7 Caso de Prueba: Eliminar devolucin de venta ....................................................... 106
Tabla 3. 8 Caso de Prueba: Consultar devolucin de venta ..................................................... 106
VII

Tabla 3. 9 Caso de Prueba: Listar ventas ................................................................................. 107


Tabla 3. 10 Caso de Prueba: Registrar Cliente ........................................................................ 107
Tabla 3. 11 Caso de Prueba: Modificar Cliente ........................................................................ 108
Tabla 3. 12 Caso de Prueba: Eliminar cliente ........................................................................... 109
Tabla 3. 13 Caso de Prueba: Consultar cliente ........................................................................ 109
Tabla 3. 14 Resultado de las pruebas ...................................................................................... 110
VIII

RESUMEN

El presente proyecto trata de brindar un apoyo hacia los empleados de la


ferretera, al ser un sistema parametrizable se adapta fcilmente a sus
necesidades, garantizando la transferencia en las actividades y sobre todo
respetando el marco legal del SRI para la emisin de facturas y pago de
impuestos, utilizando un medio de comunicacin tan poderoso en nuestros
das como es el Internet.

El sistema FERRASIS ser una herramienta eficaz y oportuna que le


permita al administrador de la ferretera una acertada toma de decisiones en
base a los informes entregados por el sistema, el mismo que le muestran
que productos son de mayor demanda ordenados por categora de
producto, subcategora de productos y ordenados por la fecha de venta,
adems permita controlar el stock de los productos el mismo que refleja la
situacin actual de la ferretera.

El sistema FERRASIS, es un proyecto de desarrollo de Software libre bajo


licencia lgpl, lo que le permite disminuir costos en su utilizacin o
distribucin siempre y cuando cumpla con los trminos sealados en la
licencia lgpl v2.1. Software libre de acuerdo con tal definicin, el software
es "libre" garantiza las siguientes libertades:
"libertad 0", ejecutar el programa con cualquier propsito (privado,
educativo, pblico, comercial, etc.)
"libertad 1", estudiar y modificar el programa (para lo cual es
necesario poder acceder al cdigo fuente)
"libertad 2", copiar el programa de manera que se pueda ayudar al
vecino o a cualquiera
"libertad 3", mejorar el programa, y hacer pblicas las mejoras, de
forma que se beneficie toda la comunidad.
IX

INTRODUCCIN

El sistema FERRASIS emerge como producto del anlisis de los procesos que
se llevan de manera manual en cualquier ferretera, la carencia de controles y
el cumplimiento de las normas legales que hacen referencia al SRI, conllevan
a un deficiente manejo para la emisin de facturas y pago de impuestos.
Se convierte una necesidad la creacin de una herramienta que pueda apoyar
la mencionada gestin.

Estandarizar la informacin reuniendo necesidades comunes al rea ferretera,


fueron plasmados en un sistema informtico llamado FERRASIS, el mismo que
es un sistema parametrizable que cubre las necesidades de los
administradores de la ferretera.

Hoy en da existen una gran cantidad de sistemas de facturacin comerciales


restringiendo al administrador del sistema realizar modificaciones con grandes
cantidades de dinero, como solucin a este problema el sistema FERRASIS es
un software libre que permite el uso del mismo sin ningn tipo de pago por
concepto de licencias. Hoy en da existe una gran cantidad de licencias. De
acuerdos a varias opiniones en la red se puede resumir que existen cuatro
tipos de licencias:
Las licencias libres sin copyleft robusto: Lo menos restrictiva posible,
que permite utilizar el cdigo con otro software opensource o con
software propietario. (Ej. BSD, Apache, MIT).
Las licencias libres con copyleft robusto: Obliga a compartir de manera
que si la empresa de la competencia usa el cdigo y lo modifica/mejora,
entonces lo tendr que compartir. (Ej. licencia GPL).
Licencia intermedia: Intermedia a las otras dos licencias, bsicamente
destinada a que el producto de alguna manera si que se pueda integrar
con software propietario, esto es muy utilizado para libreras compartidas
(LGPL o la MPL y sus mltiples derivadas).
Las licencias pseudolibres: hacen referencia a licencias como la
Freeware, que slo hacen referencia a la gratuidad del software, pero
X

que no tienen nada que ver realmente con el Software Libre ni con las
libertades para el usuario.
Para cumplir con este fin propuesto, se ha divido el presente proyecto de
titulacin en captulos, de la siguiente manera:
El capitulo 1 se empezara realizando un anlisis de las necesidades comunes
al rea ferretera con respecto a su administracin, que servir de base para el
desarrollo del proyecto. Tambin se har una comparacin de las herramientas
de desarrollo ms populares en la actualidad para escoger el que brinde la
mejor solucin.

En el Capitulo 2 se detalla el modelo del negocio, la arquitectura del sistema y


el desarrollo del sistema, en el modelo del negocio se explica detalladamente
los casos de uso, diagramas de secuencia y actividad, en la arquitectura del
sistema se explica el modelo conceptual y fsico de datos.

En el Capitulo 3 se describe la documentacin de la fase de pruebas que


permite verificar el correcto desempeo del sistema FERRASIS. Adems
contempla la evaluacin para el Centro Ferretero Rumiloma como caso de
estudio.

En el Capitulo 4 se describe las conclusiones y recomendaciones producto de


la experiencia de trabajo en el desarrollo de la solucin y proceso de
investigacin.
Finalmente se encuentra la Bibliografa que muestra las referencias utilizadas y
los anexos que contienen la documentacin adicional del proyecto como es el
manual de usuario y el manual de instalacin del sistema FERRASIS. Cabe
aclaran que el manual de instalacin hace referencia para instalar en sistema
GNU/Linux/Unix que es un sistema operativo de software libre para tener una
concordancia con la aplicacin del sistema FERRASIS o tambin se puede
instalar en Sistema Operativo comercial como son: Windows XP, Server 2000
/2003.
1

1. CAPITULO 1 : DEFINICIN DEL PROYECTO


1.1. DESCRIPCIN DEL PROBLEMA
1.1.1. ANALISIS DEL PROBLEMA
Hoy en da existe una gran cantidad de ferreteras que realizan las ventas de
manera manual, sin un control sobre el producto a comercializarse, esto con
lleva a una falta de controles y el cumplimiento de las normas legales del SRI
para la emisin de la factura o para el pago de impuestos a realizarse en el
mes correspondiente.

Para una mejor comunicacin entre los empleados y administradores de una


ferretera se requiere de una gran cantidad de informacin que debe fluir de
unas personas a otras en funcin de la necesidad de cada una para realizar su
trabajo. Ellos tienen a su cargo fijar las caractersticas de los productos que
disponen, situarlos en el mercado y venderlos con el objetivo de satisfacer las
necesidades de los consumidores.

Para realizar un venta se involucra una serie de pasos que se los realiza
manualmente tal es el caso como el control el stock y la actualizacin de los
datos del producto a comercializarse dando como resultado un mayor trabajo
hacia los empleados y administradores de la ferretera.

En la actualidad existe una gran cantidad de software que no admiten


parmetros o valores propios de una empresa es decir no es parametrizable,
por diferentes razones la ms importante es mantener la fidelidad del cliente
hacia la empresa que realizo el software con el fin de lucrar sobre los cambios
o nuevas necesidades de la empresa.

El propsito para realizar un sistema parametrizable es ofrecer las siguientes


caractersticas:
Provee una herramienta administrativa capaz de ajustarse acorde con
las necesidades de los distintos empleados o administradores.
Parametriza la edicin de informes mediante la creacin de plantillas que
mejoran la apariencia del documento a entregarse.
2

La informacin modificada o aadida es inmediatamente accesible para


el resto de los usuarios del sistema.
Admite distintas opciones para la clasificacin y acceso a los
documentos

Los negocios no respectan los requerimientos mnimos de impresin y de


llenado de factura o nota venta simplificado como se detallan en el marco
terico.
3

1.1.2. GLOSARIO DE TERMINOS


1.1.2.1. SRI
SRI (Sistemas de Rentas Internas) es una entidad tcnica y autnoma que
tiene la responsabilidad de recaudar los tributos internos establecidos por Ley
mediante la aplicacin de la normativa vigente. Su finalidad es la de consolidar
la cultura tributaria en el pas a efectos de incrementar sostenidamente el
cumplimiento voluntario de las obligaciones tributarias por parte de los
contribuyentes. [1]
1.1.2.1.1. Tipos de Contribuyentes
1.1.2.1.1.1. Personas naturales
Son las personas fsicas, nacionales y extranjeras que realizan actividades
econmicas.
Una persona natural, no debe de llevar contabilidad si opera con un capital
propio menor a USD 60.000, tenga ingresos brutos anuales menor a USD
100.000 y los costos y gastos anuales menor a USD 80.000 [2]
1.1.2.1.1.2. Sociedades
El trmino sociedad comprende a todas las instituciones del sector pblico, a
las personas jurdicas bajo control de las Superintendencias de Compaas y
de Bancos, las organizaciones sin fines de lucro, los fideicomisos mercantiles,
las sociedades de hecho y cualquier patrimonio independiente del de sus
miembros.[3]
1.1.2.1.1.3. Grandes Contribuyentes, Grupos Econmicos y
Contribuyente especiales
Debido a la necesidad latente de establecer, identificar, conocer, controlar y
servir al grupo de empresas privadas y pblicas, nacionales e internacionales,
de mayor importancia en la economa del pas, el Servicio de Rentas Internas
define a aquellos contribuyentes calificados como "Grandes Contribuyentes",
debido a su importancia dada por el movimiento tributario de Impuesto a la

[1]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Sistema de rentas internas
[2]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Personas naturales
[3]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Sociedades
4

Renta, referente a los montos de ingresos, costos y gastos, pasivos, activos y


patrimonio. [4]
1.1.2.1.1.4. Rise
RISE (Rgimen Impositivo Simplificado) es un nuevo rgimen de
incorporacin voluntaria, reemplaza el pago del IVA y del Impuesto a la Renta a
travs de cuotas mensuales y tiene por objeto mejorar la cultura tributaria en el
pas. [5]
1.1.2.1.2. Impuestos
Son las contribuciones obligatorias establecidas en la Ley, que deben pagar
las personas naturales y las sociedades que se encuentran en las condiciones
previstas por la misma. Los impuestos son el precio de vivir en una sociedad
civilizada. [6]
Los impuestos que administra y recauda el SRI son los siguientes:

Impuesto a los Consumos Especiales


Impuesto a los Vehculos Motorizados
Impuesto a la Renta
Impuesto al Valor Agregado
Impuesto a la Salida de Divisas
Impuesto a los activos en el exterior

1.1.2.1.2.1. Impuesto al Valor Agregado (IVA)


Es el impuesto que se paga por la transferencia de bienes y por la prestacin
de servicios. Se denomina Impuesto al Valor Agregado por ser un gravamen
que afecta a todas las etapas de comercializacin pero exclusivamente en la
parte generada o agregada en cada etapa.
El impuesto al valor agregado IVA deben pagar todos los adquirentes de bienes
o servicios, gravados con tarifa 12%. El pago lo har al comerciante o
prestador del servicio, quien a su vez, luego de percibir el tributo lo entrega al
Estado mediante una declaracin.

[4]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Grandes contribuyentes
[5]
SRI, http://www.sri.gov.ec/sri/portal/main.do, RISE
[6]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Impuestos
5

Las personas naturales, debern presentar su declaracin en el formulario


104A. La declaracin y pago del IVA se debe realizar desde el primer da hbil
del mes siguiente al que corresponde la informacin hasta las fechas que se
detallan a continuacin:

Declaracin Semestral
Noveno
Dgito Declaracin Mensual Primer semestre Segundo semestre

1 10 del mes siguiente 10 de enero 10 de julio

2 12 del mes siguiente 12 de enero 12 de julio


3 14 del mes siguiente 14 de enero 14 de julio
4 16 del mes siguiente 16 de enero 16 de julio
5 18 del mes siguiente 18 de enero 18 de julio
6 20 del mes siguiente 20 de enero 20 de julio
7 22 del mes siguiente 22 de enero 22 de julio
8 24 del mes siguiente 24 de enero 24 de julio
9 26 del mes siguiente 26 de enero 26 de julio
0 28 del mes siguiente 28 de enero 28 de julio

Tabla 1. 1 Fechas de Vencimiento para el pago al valor agregado IVA

El pago de impuestos se puede realizar de las siguientes formas:

En las Instituciones del Sistema Financiero utilizando los formularios


preimpresos.
A travs de Internet, utilizando el DIMM para elaborar la declaracin. [ 7]

1.1.2.1.2.2. Impuesto a la Renta


Es el impuesto que se debe cancelar sobre los ingresos o rentas, producto de
actividades personales, comerciales, industriales, agrcolas, y en general
actividades econmicas y an sobre ingresos gratuitos, percibidos durante un
ao, luego de descontar los costos y gastos incurridos para obtener o
conservar dichas rentas.

[7]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Impuesto al valor agregado Iva
6

Las personas naturales, debern presentar su declaracin en el formulario 102.

La declaracin y pago del Impuesto a la Renta se debe realizar desde el


primero de febrero del ao siguiente, hasta las fechas que se detallan a
continuacin:

Noveno Dgito Personas Sociedades


Naturales
1 10 de marzo 10 de abril
2 12 de marzo 12 de abril
3 14 de marzo 14 de abril
4 16 de marzo 16 de abril
5 18 de marzo 18 de abril
6 20 de marzo 20 de abril
7 22 de marzo 22 de abril
8 24 de marzo 24 de abril
9 26 de marzo 26 de abril
0 28 de marzo 28 de abril

Tabla 1. 2 Fechas de vencimiento para el pago del Impuesto a la Renta

El pago de impuestos se puede realizar de las siguientes formas:

En las Instituciones del Sistema Financiero utilizando los formularios


preimpresos.
A travs de Internet, utilizando el DIMM para elaborar la declaracin. [8]

1.1.2.1.3. RUC
RUC (El Registro nico de Contribuyentes) es el sistema de identificacin por
el que se asigna un nmero a las personas naturales y sociedades que realizan
actividades econmicas, que generan obligaciones tributarias.

[8]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Impuesto a la renta
7

La informacin que tiene el RUC es informacin relativa al contribuyente como


son: su identificacin, direccin y ubicacin del establecimiento donde realiza la
actividad econmica, descripcin de la actividad econmica
Los requisitos necesarios para inscribirse o actualizar el RUC depende del tipo
de contribuyente puede ser: RUC para personas naturales o RUC para
sociedades. [9]

1.1.2.1.4. Factura
Las facturas son comprobantes de venta que sustentan la transferencia de un
bien o la prestacin de un servicio. Son utilizadas cuando la transaccin se
realiza con personas jurdicas o con personas naturales que necesiten
sustentar crdito tributario del IVA, y en operaciones de exportacin.

La factura debe contener informacin del vendedor, del adquirente y de la


transaccin desagregando los impuestos; as como los datos de la imprenta
autorizada, de la autorizacin de la Factura y de su caducidad.

Las facturas pueden ser llenadas en forma manual, mecnica o a travs de


sistemas computarizados. Las Facturas en original y copia, deben ser llenadas
en forma simultnea mediante el uso de papel carbn, carbonado o
autocopiativo qumico; en cualquier caso las copias debern ser idnticas al
original, caso contrario no sern vlidas.

Las facturas no tienen un formato establecido, este depende de las


necesidades del contribuyente, sin embargo, estos documentos debern
contener como mnimo los requisitos de impresin y de llenado que se detallan
a continuacin.

[9]
SRI, http://www.sri.gov.ec/sri/portal/main.do, RUC
8

[10]
Figura 1. 1 Formato para la Factura

1.1.2.1.5. Nota de Venta


Las notas o boletas de venta son comprobantes de venta utilizados en
transacciones con consumidores o usuarios finales. No sustentan crdito
tributario de IVA.
Son emitidas por el proveedor del bien o por quien presta un servicio, en
transacciones con consumidores finales.
Pueden ser impresas en imprentas autorizadas, quienes se encargan de
solicitar al SRI la autorizacin para el contribuyente.
La nota de venta no requiere la informacin del adquiriente ni el desglose de
los impuestos. Debe contener los datos del vendedor y de la transaccin en
forma general, as como los de la autorizacin.
Podrn ser llenadas en forma manual, mecnica o a travs de sistemas
computarizados. Las notas de venta en original y copia, deben ser llenadas en
forma simultnea mediante el uso de papel carbn, carbonado o autocopiativo
qumico; en cualquier caso las copias debern ser idnticas al original, caso
contrario no sern vlidas.

[ 10 ]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Facturas
9

Las notas de venta no tienen un formato establecido, este depende de las


necesidades del contribuyente, sin embargo estos documentos debern
contener como mnimo los requisitos de impresin y de llenado, adems
pueden hacer uso de las notas de venta simplificada, son formatos de fcil
llenado a continuacin se detalla el formato de nota de venta simplificada.

[11]
Figura 1. 2 Formato de Nota de venta Simplificado

[ 11 ]
SRI, http://www.sri.gov.ec/sri/portal/main.do, Nota de Venta
10

1.1.2.2. ACTIVOS Y GASTOS

Activo.- Bienes y derechos propiedad de una empresa.

Los Activos se clasifican en:

Activo circulante: Bienes y derechos que tienen cierta rotacin,


movimiento constante y de fcil conversin en dinero en efectivo.
Ej. Caja, bancos, mercancas, clientes, documentos por cobrar,
deudores diversos.
Activo fijo o activo no circulante: Bienes y derechos que tienen cierta
permanencia o fijeza, adquiridos con el propsito de usarlos y no de
venderlos Ej. Terrenos. edificios, mobiliario y equipo, equipo de
cmputo, equipo de reparto, depsitos en garanta, acciones y valores.
Activo diferido: Gastos pagados por anticipado por los que se espera
recibir un servicio aprovechable posteriormente.
Ej. Gastos de instalacin, papelera y tiles, propaganda y publicidad,
primas de seguros, rentas pagadas por anticipado, intereses pagados
por anticipado.[12] [13]

Gastos.- Los gastos se definen como las disminuciones de patrimonio de una


cantidad concreta en un periodo concreto originadas con operaciones
ordinarias o extraordinarias.

Los gastos se dividen en: Gastos Operacionales y Gastos no Operacionales

Gastos operacionales: Son aquellos para la administracin de la


empresa, aquellos que impulsan ingresos operacionales y se subdivide
en: Gastos de Ventas y Gastos de administracin.

[12 ]
IMONOGRAFIAS, http://www.monografias.com/trabajos51/activos-fijos/activos-fijos2.shtml,
Activos
[13]
CHAGA GALVAN, Jose Alfonso, http://www.mailxmail.com/curso-contabilidad/clasificacion-
activo-pasivo, Clasificacin de los activos
11

o Gastos de Ventas: son desembolsos que estn relacionados con


las actividades de comercializacin de los productos, por ejemplo,
los gastos laborales (sueldos, gratificaciones, comisiones del jefe
de venta, de los vendedores o de los cobradores), publicidad,
impuesto a las ventas, empaques, transportes, almacenamiento.
o Gastos Administrativos: son desembolsos que estn
relacionados con las actividades de gestin, por ejemplo, gastos
laborales (sueldos, gratificaciones, seguros de los gerentes,
administradores, auxiliares de la empresa), alquileres, materiales
y tiles de oficina, seguros, depreciacin (de edificios
administrativos, equipos de oficina, mquinas, muebles),
impuestos.

Gastos No operacionales: Son aquellos gastos en el que incurren en una


organizacin y no est en relacin del objetivo del negocio.
Ej. Financieros, prdidas en ventas y retiro de bienes, gastos extraordinarios y
gastos diversos. [14] [15]

1.1.2.3. RATIOS O NDICES FINANCIEROS


Son coeficientes o razones que proporcionan unidades contables y financieras
de medida y comparacin, a travs de las cuales, la relacin entre s de dos
datos financieros directos, permiten analizar el estado actual o pasado de una
organizacin.
Los ndices financieros se clasifican en:
Razones de liquidez
Razones de endeudamiento
Razones de rentabilidad
Razones de cobertura

[ 14 ]
CHAGA GALVAN, Jos Alfonso, http://www.mailxmail.com/curso-contabilidad-practica-5-
estado-ganancias-perdidas/gastos-operacionales-administracion-gastos-personal, Clasificacin
de los gastos
[15]
CRECE NEGOCIOS, http://www.crecenegocios.com/la-contabilidad-de-costos/, Clasificacin
de los gastos
12

De acuerdo al alcance, el presente proyecto se limitara a estudiar y analizar las


razones o ndices de rentabilidad.

1.1.2.3.1.1. Razones de Rentabilidad


Miden la eficiencia de la empresa, se analizara el rendimiento sobre las ventas
generadas en una fecha determinada por el usuario.

Ratio de rentabilidad bruta sobre ventas


Llamado tambin margen bruto sobre ventas, muestra el margen o beneficio de
la empresa respecto a sus ventas.

UTILIDADBR UTA
MU =
VENTAS

Ratio de rentabilidad neta sobre ventas

Es un ratio ms concreto ya que usa el beneficio neto luego de deducir los


costos, gastos e impuestos.[16] [17]

UTILIDADNETA
MU =
VENTASNETAS

Criterio de Anlisis
Por cada unidad monetaria de venta, se generan X, X unidades monetarias de
utilidad. Un X, X% de utilidad por sobre las ventas.

[16]
CRECENEGOCIOS, http://www.crecenegocios.com/ratios-financieros/, Ratios financieros
[ 17 ]
MONOGRAFIAS, http://www.monografias.com/trabajos28/ratios-financieros/ratios-
financieros.shtml, Ratios financieros
13

1.2. SELECCIN DE LA METODOLOGA PARA EL DESARROLLO DEL


SISTEMA
El presente proyecto plantea en sus objetivos un producto que permita registrar
una venta, registrar una compra soportando interacciones con varios usuarios
que tendrn acceso a la web, debiendo ser una aplicacin escalable y
fcilmente mantenible fomentando la reutilizacin de sus componentes. Estas
caractersticas sugieren optar por la metodologa orientada a objetos.
En la tabla 1.3 se resume algunas de las caractersticas del Proceso Unificado
(PU)
Caracterstica Ventaja
UML (lenguaje de modelamiento unificado) es una
consolidacin de muchas de las notaciones y conceptos ms
Modelado visual por medio de
usados dentro del paradigma orientado a objetos.
UML
Es de fcil comprensin.
Es un estndar ampliamente utilizado.
Captura los requisitos funcionales.
Conducen el proceso de desarrollo
Est dirigido por casos de uso. Se especifican, se disean y sirven de base para construir los
casos de prueba.
Se desarrollan junto a la arquitectura del sistema
Permite un software flexible a nuevos requerimientos.
Describe diferentes vistas a travs de modelos.
Centrado en la arquitectura. El proceso ayuda a centrarse en los objetivos correctos:
legibilidad adaptabilidad reutilizacin legibilidad, adaptabilidad,
reutilizacin.
Atenuacin de riesgos
Obtencin de una arquitectura robusta
Iterativo e incremental
Progreso visible desde las primeras etapas.
Gestin de requisitos cambiantes
[18]
Tabla 1. 3 Resumen de caractersticas del UP

[21]
[Presuman 1997] PRESSMAN, Ingeniera del Software: Un enfoque prctico.
[ 18 ]
[Jacobson2000] JACOBSON, Ivar; BOOCH, GRADY; RUMBAUGH, James. El proceso
unificado de desarrollo de software.
14

1.2.1. APLICACIN DEL PROCESO UNIFICADO EN EL PROYECTO


El Proceso Unificado se compone de cuatro fases denominadas Inicio,
Elaboracin, Construccin y Transicin, y se pueden dividir en una serie de
iteraciones como se muestra en la figura 1.1

[19]
Figura 1. 3 Fases y flujos de trabajo del UP.
En el presente proyecto se han definido los siguientes flujos de trabajo
fundamentales, descritos en la tabla 1.5

Flujo de trabajo Actividad Entregable


Requisitos Modelo del Negocio
Modelo de dominio
Anlisis Modelo de casos de uso 
Diseo Modelo de clases 
Modelo de actividad 

Modelo de secuencia 
Modelo de colaboracin
Modelo de despliegue 
Modelo de componentes
Implementacin Manual de usuario 

[ 19 ]
WIKIMEDIA FOUNDATION, http://en.wikipedia.org/wiki/Unified_Process, Proceso Unificado
2
FERRASIS.- Sistema de facturacin para ferreteras
15

Manual de Instalacin 

Pruebas Documentacin de pruebas al 


realizadas al sistema
Tabla 1. 4 Flujos de Trabajo Fundamentales del Proyecto.

1.3. SELECCIN DE HERRAMIENTAS DE DESARROLLO


De acuerdo a los objetivos del proyecto de ser software libre y una aplicacin
Web, a continuacin se describe las alternativas y seleccin de herramientas
para la implementacin del sistema FERRASIS2 que se ajusta al proyecto.

1.3.1. SELECCIN DEL FRAMEWORK DE APLICACIN WEB


En la tabla 1.8 se muestran las alternativas de framework de aplicaciones Web
que dar soporte al sistema FERRASIS:

CARACTERISTICAS FRAMEWORKS

Codeigniter CakePHP Symfony


Lenguaje de programacin PHP PHP PHP
Licencia MIT MIT MIT

Soporte para diferentes motores de bases de SI SI SI


datos (MySQL, PostgreSQL).

Curva de Aprendizaje Alta Media Baja


Documentacin en linea Alta Medio Alta
Instalacin Fcil Fcil Complicado
Tabla 1. 5 Comparacin de frameworks de aplicaciones Web
La comparativa anterior muestra al framework de aplicaciones Web Codelgiter
como el ms adecuado, el mismo que ha sido seleccionado por sus
caractersticas para el desarrollo y soporte del sistema FERRASIS.

Codeigniter

Software libre auspiciado por la empresa EllisLab, Inc.

Codeigniter es un entorno de trabajo web para el desarrollo de aplicaciones


web en PHP que facilita la escritura de cdigo fuente en este lenguaje y reduce
16

el tiempo necesario para lograrlo. Est basado en el sistema modelo vista


controlador.
Una de las caractersticas ms interesantes de CodeIgniter es el elevado
nmero de clases que incluye para trabajar con distintos objetos: calendario,
bases de datos, correo electrnico, manipulacin de imgenes, FTP, lenguaje,
tablas, sesiones, compresin ZIP, etctera.

Caractersticas:

Sistema Basado en Modelo-Vista-Controlador


Compatible con PHP 4
Extremadamente Liviano
Soporte de Active Record para Base de Datos
Formulario y Validacin de Datos
Seguridad y Filtro XSS
Manejo de Sesin
Clase de Envo de Email. Soporta Archivos Adjuntos, email de
texto/HTML, mltiples protocolos (sendmail, SMTP, and Mail) y ms.
Librera de Manipulacin de Imagen (cortar, redimensionar, rotar, etc.).
Soporta GD, ImageMagick, y NetPBM
Clase de Carga (upload) de Archivo
Clase de FTP
Paginacin
Encriptacin de Datos
Cacheo de pginas enteras
Historial de Errores
Clase de Calendario
Clase de Codificacin Zip
Clase de Motor de Plantillas
Clase de Trackback
Librera XML-RPC
Clase de Prueba de Unidad
URLs amigables a motores de bsqueda
Ruteo de URI Flexible
17

Soporte para Ganchos, Extensiones de Clase y Plugins


Larga librera de funciones "asistentes" [20]

1.3.2. SELECCIN DE LA BASE DE DATOS


En la tabla1.7 se muestran las alternativas de servidor de base de datos para el
sistema FERRASIS:
CARACTERSTICAS DBMS
Nombres: MySQL PostgreSQL
Soporte de grandes volmenes de datos. S S
Licencia. GPL BSD
Documentacin con PHP. Alta Medio
Utilizacin de desarrolladores PHP Alta Medio
Conocimiento por parte del desarrollador Alta Medio
Tabla 1. 6 Comparacin de servidores de bases de datos
La comparativa anterior muestra a MySQL como la alternativa ms factible para
servidor de bases de datos, el mismo que ha sido seleccionado por sus
caractersticas para el desarrollo y soporte del sistema FERRASIS.

1.3.3. LICENCIA LGPL


Esta licencia fue publicada en 1991 por la Free Software Foundation en sus
versiones 1 y 2 con el nombre GNU Library GPL. En 1999 su nombre cambi a
GNU Lesser GPL (Licencia Reducida GPL) Versin 3, 29 Junio del 2007 que es
la actual, pero esta controversia el uso de la misma.
Para el presente proyecto se va estudiar y aplicar la licencia LGPL v2.1
La Licencia LGPL costa de las siguientes partes:
1. Prembulo
2. Trminos y Condiciones para la copia, distribucin modificacin
3. Cmo aplicar estos trminos a un nuevo programa
Prembulo.- En resumen explica que las licencias LGPL estn diseadas para
garantizar la libertad de compartir y modificar el software, garantizando la
libertad de los usuarios.

[20]
CODEINGNITER, http://codeigniter.uptodown.com, caractersticas de codeingniter
18

Trminos y Condiciones para la copia, distribucin y modificacin.- Se


detallan en las siguientes secciones:
0. Definiciones
1. Copia y distribucin fiel del cdigo fuente
2. Modificacin
3. Opcin cambiar a GPL.
4. Reproduccin y distribucin de la librera en cdigo objeto.
5. Define 'obra que usa la librera', es obra derivada cuando se enlaza
6. Excepcin para distribuir un programa que 'usa la librera' y se
combina
7. Combinar y distribuir con libreras que tienen otras licencias.
8. Nulidad
9. Aceptacin
10. Transmisin de esta licencia a destinatarios
11. Infraccin de patente otra razn
12. Restricciones por ley en ciertos pases
13. Nueva versiones de esta licencia
14. Partes del programa en otros trminos
15. No garanta
16. Limitacin de responsabilidad
Aclaraciones:
Seccin 8: Se debe de copiar, modificar, enlazar o distribuir como esta
expresada en la licencia caso contrario se terminara con los derechos cubiertos
bajo esta licencia.
Seccin 9: No se esta obligado a aceptar la licencia ya que en ningn momento
se ha firmando simplemente garantiza el derecho a modificar o distribuir la
librera o sus trabajos derivados.
Seccin 14: Si desea incorporar partes de la Librera en otros programas libres
cuyas condiciones de distribucin son incompatibles con estos, se debe de
escribir al autor para pedirle permiso.
Seccin 15 y 16: Dado que la librera esta licenciado libre de coste, no existe
garanta para la librera. Esta licencia no se har responsable por daos,
perdida de datos o fallos de la librera.
19

Como se pude observar se dispone de 16 secciones de las cuales, la seccin


0 al 4 son parecidas a las secciones de la licencia GPL, siendo agregada la
seccin 3 que permite cambiar a GPL, las secciones 5 al 7 son adicionales
para el caso de libreras, las secciones del 8 al 14 especifican condiciones y la
seccin 15, 16 hace referencia a la garanta y limitaciones de responsabilidad.
Cmo aplicar estos trminos a un nuevo programa.- Una vez desarrollada
la nueva librera y se desea que sea software libre, permitiendo la distribucin
bajo los trminos anteriormente revisados se debe de agregar al inicio de cada
fichero fuente la exclusin de garanta, nombre/s del autor con informacin de
contacto, junto al programa se debe de distribuir una copia de la licencia LGPL
y por ltimo se debe de conseguir que el empleador(si trabaja como
programador) u universidad firme una renuncia de copyright para el programa.
[21]

1.3.3.1. Comparacin entre licencias


En la actualidad existe una gran variedad de licencias, en la tabla 1.3 se
muestra una comparacin de las licencias ms importantes.

[ 21 ]
GNU, http://www.gnu.org/licenses/lgpl-2.1.html, Licencia LGPL
20

Licencia Puede Modificaciones Caractersticas Principales


mezclarse pueden tornarse
con privadas y no
software no retornarse a los
libre dems
GPL(Licencia - GPL posibilita la modificacin y
Pblica General redistribucin del software, obliga a
de GNU) que se haga nicamente bajo esa
misma licencia.
LGPL(Licencia X - Es obligatorio registrar todos los
Pblica General cambios realizados por terceros, a
Reducida de manera de no afectar la reputacin
GNU ) del autor original y proporcionar el
cdigo fuente.
BSD(Licencia de X X - No es obligatorio mencionar a los
Distribucin de autores ni proporcionar el cdigo
Software de fuente.
Berkeley) - Permite que otras versiones puedan
tener otros tipos de licencias, tanto
propietarias como libres.
NPL(Licencia X X - NPL utiliza el cdigo que un
Pblica de desarrollador agregue a un programa
Netscape) con bajo licencia NPL, sin importar si
el desarrollador lo estableci de tipo
privativo
MPL(Licencia X X - MPL deja abierto el camino a una
Pblica PLde posible reutilizacin comercial y no
Mozilla) libre del software.
Tabla 1. 7 Tabla Comparativa de licencias [22] [22] [23]

[12 ]
GNU, http://www.gnu.org/licenses/lgpl-2.1.html, Licencia LGPL
[ 22 ]
GNU, http://www.gnu.org/licenses/gpl-2.0.html, Licencia GPL
[ 23 ]
WIKIMEDIA FOUNDATION, http://es.wikipedia.org/wiki/Licencias_de_software_libre,
Comparacin entre licencias de software libre
21

2. CAPITULO 2: INGENIERIA DEL SISTEMA


2.1. MODELO DEL NEGOCIO
2.1.1. ESPECIFICACIN DE REQUERIMIENTOS.
El objetivo fundamental de la captura de requisitos es guiar el proceso de
desarrollo hacia el sistema correcto, y esto se consigue con la descripcin de
los requisitos iniciales del sistema (condiciones y capacidades que el sistema
debe cumplir)
2.1.1.1. Requerimientos Funcionales
No Requerimiento Funcional Descripcin
FUNCIONES MODULO DE VENTAS
1 Registrar Venta El Sistema permitir al cajero elaborar una
factura de venta para el cliente, para el cual se
selecciona al cliente o se registra nuevo cliente,
luego seleccionamos los productos solicitados
por el cliente de acuerdo al stock disponible del
producto seleccionado.
2 Gestionar Clientes El sistema permitir al cajero ingresar, modificar,
buscar o eliminar un cliente.
Se podr eliminar un cliente si no tiene relacin
con las facturas.
3 Gestionar Crdito El sistema permitir al cajero elaborar un nuevo
crdito de la factura de venta emitida con sus
respectivos detalles de pago al igual que
modificar e eliminar
4 Gestionar Devolucin El sistema permitir al cajero ingresar, modificar,
eliminar o buscar una devolucin de producto de
una factura anteriormente emitida.
5 Listar ventas El sistema permitir al cajero desplegar las
ventas con sus respectivos detalles de factura
registradas en el da.
FUNCIONES MODULO DE COMPRAS
6 Registrar Compra El Sistema permitir al contador elaborar una
factura de compra, para el cual se selecciona al
proveedor o se registra nuevo proveedor, luego
seleccionamos los productos a adquirir por parte
de la ferretera.
22

7 Gestionar proveedor El sistema permitir al contador ingresar,


modificar, buscar o eliminar un proveedor.
Se podr eliminar un proveedor si no tiene
relacin con alguna factura.
8 Gestionar Crdito El sistema permitir al contador elaborar un
nuevo crdito de la factura de compra con sus
respectivos detalles de pago, al igual que
modificar e eliminar.
9 Gestionar devolucin El sistema permitir al contador ingresar,
modificar, eliminar o buscar una devolucin de
producto de una factura anteriormente registrada.
10 Listar compras El sistema permitir al contador desplegar las
compras con sus respectivos detalles de factura
en un tiempo determinado.
11 Listar ventas El sistema permitir al contador desplegar las
ventas con sus respectivos detalles de factura en
un tiempo determinado.
FUNCIONES MODULO DE INGRESOS Y GASTOS

12 Gestionar gasto El sistema permitir al contador registrar,


modificar o eliminar un gasto por ej. pago de
agua, luz, etc.
13 Generar pago de impuestos El sistema permitir al contador generar un
formulario 104A (Impuesto al valor agregado)
dirigido a personas naturales no obligadas a
llevar contabilidad, el formulario se genera
teniendo en cuenta todo tipo de posibilidades es
decir si se genera un impuesto a pagar, se
genera un crdito tributario o si existe saldos
anteriores del crdito tributario, inters, multa,
etc.
14 Gestionar reportes El sistema permite al contador
Listar productos bajo stock
Listar pagos pendientes a proveedores
Listar pagos pendientes de clientes
Listar ventas
Listar compras
Mostrar Rentabilidad
FUNCIONES MODULO DE INVENTARIO
15 Gestionar producto El sistema permitir al bodeguero registrar,
23

modificar, eliminar o buscar un producto, dicho


productos debe estar agrupado a una
subcategora de productos.
16 Gestionar subcategora de productos El sistema permitir al bodeguero registrar,
modificar, eliminar o buscar una subcategora de
producto, dicho productos debe estar agrupado a
una categora de productos.
17 Gestionar categora de productos El sistema permitir al bodeguero registrar,
modificar, eliminar o buscar una categora de
producto.
FUNCIONES MODULO DE ADMINISTRACIN
18 Registrar parmetros El sistema permitir al administrador registrar los
datos de la ferretera como: ruc, razn social,
nombre del propietario, fecha de apertura y
configurar los datos globales como: iva, smbolo
de moneda.
19 Gestionar empleado El sistema permitir al administrador registrar,
modificar, eliminar empleados que pertenece a la
empresa
24

2.1.2. ANALISIS
En esta fase se estudia de una manera ms detallada la informacin
presentada anteriormente, pero esta vez desde el punto de vista del
programador (vista interna del sistema) y no desde el de un usuario (vista
externa del sistema).
2.1.2.1. Diagrama de paquetes
El paquete es un mecanismo de propsito general para organizar elementos
del modelado en grupos con el fin de comprenderlos ms fcilmente.
Conforme va creciendo el sistema hasta alcanzar un gran tamao, se hace
necesario organizar estos elementos en bloques mayores llamados paquetes.
Los paquetes que contienen los diversos elementos de los modelos y estn
especificados como se indica en la Figura 2.1

Gestin de Ventas Gestin de Ingresos y Gastos


Gestin de
Devolucin Gestin de crdito
Gestin de Gestin de Categora
gasto de gasto
Gestin de detalle
Gestin de de pago de crdito
Cliente
Gestin de
reportes

Gestin de Compras
Gestin de Inventario

Gestin de Crdito Gestin de


Devolucin Gestin de producto Gestin de Subcategora
de producto
Gestin de detalle
de pago de crdito
Gestin de Gestin de
Proveedores Proveedores
Gestin de Categora de
producto

Gestin de Administracin

Gestin de
empleados

Figura 2. 1 Paquetes del sistema


25

2.1.2.2. Descripcin del paquete de anlisis

ACTOR MDULO PAQUETE DE CASOS DE USO


ANALISIS
Registrar venta
Gestin de Crdito Registrar crdito de venta
Modificar crdito de venta
Eliminar crdito de venta
Listar crdito de venta
Gestin de Detalle de Registrar detalle de pago de
Pago de crdito venta
CAJERO VENTAS
Modificar detalle de pago de
venta
Eliminar detalle de pago de
venta
Gestin de Registrar devolucin de venta
devolucin Modificar devolucin de venta
Eliminar devolucin de venta
Consultar devolucin de
venta
Gestin de clientes Registrar cliente
Modificar cliente
Eliminar cliente
Consultar cliente
Listar ventas
Registrar compra
Gestin de Crdito Registrar crdito de compra
Modificar crdito de compra
Eliminar crdito de compra
Listar crdito de compra
Gestin de Detalle de Registrar detalle de pago de
Pago de crdito compra
Modificar detalle de pago de
CONTADOR
compra
Eliminar detalle de pago de
COMPRAS
compra
26

Gestin de Registrar devolucin de


devolucin compra
Modificar devolucin de
compra
Eliminar devolucin de
compra
Consultar devolucin de
compra
Gestin de Registrar proveedor
proveedores Modificar proveedor
Eliminar proveedor
Consultar proveedor
Listar compras

Gestin de Categora Registrar categora de gasto


de gasto Modificar categora de gasto
Eliminar categora de gasto
Registrar gasto
Gestin de Gasto Modificar gasto
Eliminar gasto
Consultar gasto
Mostrar rentabilidad
CONTADOR Ingresos y
Listar ventas
Gastos
Listar compras
Listar productos bajo stock
Gestin de reportes Listar pagos pendientes a
proveedores
Listar pagos pendientes a
clientes.
Generar pago de impuestos

Gestin de producto Registrar producto


Modificar producto
Eliminar producto
Consultar producto
Gestin de Registrar subcategora de
BODEGUERO subcategora de producto
Inventario producto Modificar subcategora de
producto
27

Eliminar subcategora de
producto
Gestin de categora Registrar categora de
de producto producto
Modificar categora de
producto
Eliminar categora de
producto

Registrar empleado
Modificar empleado
ADMINISTRADOR Administracin Gestin de Eliminar empleado
empleados Consultar empleado

Tabla 2. 1 Descripcin del paquete de anlisis


28

2.1.2.3. Casos de uso


2.1.2.3.1. Caso de uso del paquete Gestin de Ventas

<<extend>>

registrarCliente
<<include>>

registrarVenta
<<include>>
registrarDetalle

<<include>> registrarCrditoVenta
modif icarDetalle

eliminarCrditoVenta
eliminarDetalle

<<extend>>
listarCrditoVenta

registrarDetallePagoVenta
<<extend>>
registrarDev olucinVenta
<<extend>>
<<extend>>
modif icarDetallePagoVenta
modif icarDev olucinVenta

actualizarStock
eliminarDetallePagoVenta
eliminarDev olucinVenta
<<extend>>

<<include>>
Cajero
consultarDev olucinVenta
<<include>>

<<include>>

listarVentas
<<include>>

v erif icarDev olucinVenta modif icarCliente

<<include>>
eliminarCliente
<<include>>

v erif icarCliente
<<include>>
consultarCliente

Figura 2. 2 Diagrama de Casos de Uso del paquete Gestin de Ventas


29

Caso de Uso: Registrar Venta


Propsito: Emitir la factura y disminuir el stock del producto
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
acceso al sistema.
Precondiciones:
Producto registrado
Empleado registrado
Cliente Registrado
Poscondiciones:
Factura emitida

Flujo: Pasos Accin

1 El cajero selecciona registrar venta


2 El Sistema genera un numero de factura
3 El Cajero selecciona nuevo detalle de factura
4 El Sistema muestra la interfaz de registro de detalle de factura.
5 El Cajero ingresa el cdigo o descripcin del producto
6 El Sistema muestra los datos del producto ingresado.
7 El Cajero ingresa la cantidad del producto.
8 El Sistema valida la cantidad del producto
9 El Sistema guarda los datos

10 En caso de agregar ms detalles de factura regresar al paso 3


Principal
11 El Sistema calcula el subtotal, iva, total de la factura

12 El Cajero selecciona si el tipo de pago contado

El sistema muestra el valor total de la factura en la variable


13
contado.

14 El Cajero busca el nombre del cliente.

15 El Cajero elige guardar factura.


16 El Sistema valida y guarda los datos.
17 El Sistema actualiza el stock del producto.

18 El Sistema imprime factura

1 En 2.- El Cajero elige la opcin modificar detalle de factura

2 El Cajero selecciona el detalle de factura


Secundario 1 3 El Sistema carga los datos anteriores
4 El Cajero modifica la cantidad del producto
5 El Sistema valida la cantidad y guarda los datos.
1 En 2.- El Cajero elige la opcin eliminar detalle de factura
Secundario 2 2 El Cajero selecciona el detalle de factura
3 El Sistema elimina los datos.
30

En 8.- No existe la cantidad del producto solicitado el sistema


Secundario 3 1
despliega un mensaje de producto no disponible.
1 En 12.- El cajero selecciona el tipo de pago crdito
2 El sistema muestra el valor total de la factura en la variable crdito
Secundario 4
3 El cajero ingresa cantidad de abono
4 El sistema calcula y muestra el saldo de la factura.
1 En 14.- El Cajero registrar un nuevo cliente
2 El sistema muestra la interfaz de nuevo cliente
El cajero ingresa los datos: Razn Social, RUC/CI, nombre,
Secundario 5
3 apellido, direccin, ciudad, telfono, email, fecha de ingreso,
observacin.
4 El Sistema valida y guarda los datos del cliente.
1 En 15.- El cajero selecciona cancelar
Secundario 6
2 El cajero regresa al paso 2 del flujo principal
En 16.- los datos ingresados por el cajero no son validos el sistema
Secundario 7 1
muestra un mensaje de error.

Tabla 2. 2 Especificacin de Casos de Uso Registrar venta

Caso de Uso: Registrar Crdito de Venta


Propsito: Registrar crditos de clientes.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Ventas registradas con el tipo de pago a crdito.
Poscondiciones: Crdito registrado.
Flujo: Pasos Accin
1 El cajero selecciona nuevo crdito.

2 El Sistema muestra la interfaz del nuevo crdito

3 El Cajero ingresa el nmero de factura.


El Sistema despliega los datos de la factura: cliente, fecha de
4
compra, subtotal.
Principal 5 El Cajero ingresa el plazo en meses y el porcentaje de inters

El Sistema calcula y muestra el valor del inters, el total de la


6
factura, el valor de la cuota del crdito.
7 El Cajero selecciona guardar
8 El Sistema valida y guarda los datos.

9 El Sistema muestra la lista de los crditos registrados.


31

En 8.- los datos no son validos el sistema muestra un mensaje de


Secundario 1 1
error.

Tabla 2. 3 Especificacin de Casos de Uso Registrar Crdito

Caso de Uso: Eliminar Crdito de Venta


Propsito: Eliminar crditos registrados.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito registrado
Poscondiciones: Crdito eliminado
Flujo: Pasos Accin
1 El sistema muestra la lista de crditos.
Principal 2 El cajero selecciona el crdito.
3 El sistema eliminar el crdito.
En 3.- El sistema no puede eliminar el crdito y muestra mensaje
Secundario1 1
de error.

Tabla 2. 4 Especificacin de Casos de Uso Eliminar Crdito de Venta

Caso de Uso: Listar Crdito de Venta


Propsito: Listar crditos con el respectivo detalle de pago
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito registrado
Poscondiciones: Listar crditos.
Flujo: Pasos Accin
1 El sistema muestra la lista de crditos.

Principal 2 El cajero busca el crdito.

3 El sistema buscar y muestra el crdito con los detalles de pago.

En 3.- El sistema no encuentra el crdito y muestra mensaje de


Secundario1 1
error.

Tabla 2. 5 Especificacin de Casos de Uso Listar crdito de Venta


32

Caso de Uso: Registrar Detalle de pago de Venta


Propsito: Registrar detalles de pago
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito registrado
Poscondiciones: Detalles de pago registrados
Flujo: Pasos Accin
1 El cajero selecciona nuevo detalle de pago.
2 El Sistema muestra la interfaz del detalle de pago.
El Cajero selecciona el nmero de pago, ingresa la cantidad del
3
abono.
4 El Sistema calcula y muestra el valor del saldo.
Principal
5 El Cajero selecciona guardar
6 El Sistema valida y guarda los datos.
7 El Sistema actualiza y muestra el valor del saldo del crdito.
8 El cajero selecciona imprimir crdito
9 El sistema imprime el crdito con sus respectivos detalles de pago.
En 6.- los datos no son validos el sistema muestra un mensaje de
Secundario1 1
error.

Tabla 2. 6 Especificacin de Casos de Uso Registrar Detalle de pago de Venta

Caso de Uso: Modificar Detalle de pago de Venta


Propsito: Modificar detalle de pago
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Detalle de pago registrado
Poscondiciones: Detalle de pago actualizado.
Flujo: Pasos Accin
1 El cajero selecciona el detalle de pago.
2 El Sistema carga los datos del detalle del pago.
3 El Sistema calcula y muestra el saldo anterior.
4 El Cajero modifica la cantidad del abono.
Principal
5 El Sistema calcula y muestra el nuevo saldo
6 El Cajero selecciona guardar detalle de pago.
7 El Sistema valida y guarda los datos.
8 El Sistema actualiza y muestra el saldo del crdito.
33

En 7.- los datos no son validos el sistema muestra un mensaje de


Secundario 1 1
error.

Tabla 2. 7 Especificacin de Casos de Uso Modificar Detalle de pago de Venta

Caso de Uso: Eliminar Detalle de pago de Venta


Propsito: Eliminar detalle de pago
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Detalle de pago registrado
Poscondiciones: Detalles de pago eliminado
Flujo: Pasos Accin
1 El cajero selecciona el detalle de pago.
El Sistema despliega una confirmacin para la eliminacin del
2
detalle de pago.
Principal
3 El Cajero confirma la eliminacin del detalle de pago
4 El Sistema calcula y muestra el saldo anterior.
5 El Sistema actualiza y muestra el nuevo saldo.
1 En 3.- el cajero cancela la eliminacin del detalle de pago.
Secundario 1
2 El Sistema cancela la accin

Tabla 2. 8 Especificacin de Casos de Uso Eliminar Detalle de pago de Venta

Caso de Uso: Registrar devolucin de Venta


Propsito: Registrar devoluciones de productos de facturas emitidas.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Factura emitida.
Poscondiciones: Devolucin del producto.
Flujo: Pasos Accin
1 El Sistema muestra la lista de devoluciones registradas.
2 El cajero selecciona nueva devolucin.
3 El Cajero ingresa el cdigo del producto
El Sistema muestra los datos del producto: descripcin, unidad,
Principal 4
precio unitario.

5 El Cajero ingresa la cantidad y el descuento.

6 El Sistema calcula y muestra el valor del descuento, el subtotal y


34

el total de la factura

7 El Cajero selecciona guardar


8 El Sistema valida y guarda los datos de la devolucin
9 El Sistema actualiza el stock del producto.
10 El Sistema muestra la lista de devoluciones registrados.
En 8.- los datos no son validos el sistema muestra un mensaje de
Secundario 1 1
error.

Tabla 2. 9 Especificacin de Casos de Uso Registrar Devolucin de Ventas

Caso de Uso: Modificar devolucin de Venta


Propsito: Modificar devoluciones de productos de facturas emitidas.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Devolucin registrada
Poscondiciones: Actualizacin de la devolucin del producto.
Flujo: Pasos Accin
1 El sistema muestra la lista de devoluciones registrados.
2 El cajero selecciona la devolucin.
3 El Sistema carga los datos del detalle de la devolucin.
4 El Cajero modifica los datos
Principal
5 El Cajero selecciona guardar
6 El Sistema valida y guarda los datos.
7 El Sistema actualiza el stock del producto.
8 El Sistema muestra la lista de devoluciones registrados.
En 6.- los datos no son validos el sistema muestra un mensaje de
Secundario1 1
error.

Tabla 2. 10 Especificacin de Casos de Uso Modificar Devolucin de Ventas

Caso de Uso: Eliminar devolucin de Venta


Propsito: Eliminar devoluciones de productos de facturas emitidas.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Devolucin registrada.
Poscondiciones: Eliminacin de devolucin del producto.
Flujo: Pasos Accin
35

1 El sistema muestra la lista de devoluciones registrados.


2 El cajero selecciona la devolucin.
El Sistema despliega una confirmacin para la eliminacin de la
3
Principal devolucin del producto
4 El Cajero confirma la eliminacin de la devolucin del producto.
5 El Sistema actualiza el stock del producto
6 El Sistema muestra la lista de devolucin de productos.
1 En 4.- el cajero cancela la devolucin.
Secundario 1
2 El Sistema cancela la accin

Tabla 2. 11 Especificacin de Casos de Uso Eliminar Devolucin de Ventas

Caso de Uso: Consultar devolucin de Venta


Propsito: Consultar devoluciones de productos de facturas emitidas.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Devolucin registrada.
Poscondiciones: Listar devolucin.
Flujo: Pasos Accin
1 El sistema muestra la lista de devoluciones registrados.
El cajero busca la devolucin de acuerdo a las siguientes
2 caractersticas: cdigo de producto, fecha de devolucin o nmero
Principal
de factura.
3 El Sistema busca y muestra la devolucin de producto.
En 3.- El Sistema no encuentra la devolucin y muestra mensaje
Secundario1 1
de error.

Tabla 2. 12 Especificacin de Casos de Uso Consultar Devolucin de Ventas

Caso de Uso: Registrar Cliente


Propsito: Registrar datos del Cliente
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Cliente registrado
Flujo: Pasos Accin
1 El Cajero selecciona nuevo cliente.

2 El Sistema presenta la interfaz de nuevo cliente.


Principal
El Cajero ingresa los datos del cliente: Razn Social, CI/RUC,
3
nombre, apellido, direccin, telfono, email, fecha de ingreso,
36

observacin.
4 El Cajero selecciona guardar.
5 El Sistema valida y guarda los datos
1 En 4.- El Cajero selecciona cancelar
Secundario1
2 El Sistema cancela la accin
En 5.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 13 Especificacin de Casos de Uso - Registrar Cliente

Caso de Uso: Modificar Cliente


Propsito: Actualizar datos del cliente.
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Cliente registrado
Poscondiciones: Datos del cliente actualizado
Flujo: Pasos Accin
1 El Sistema muestra la lista de clientes registrados.
2 El Cajero selecciona el cliente.
El Sistema presenta la interfaz de registro del cliente con los datos
3
Principal actuales.
4 El Cajero modifica los datos del cliente.

5 El Cajero selecciona guardar


6 El Sistema valida y guarda los datos
1 En 5.- El cajero selecciona cancelar
Secundario1
2 El sistema cancela la accin
En 6.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 14 Especificacin de Casos de Uso - Modificar Cliente

Caso de Uso: Eliminar Cliente


Propsito: Eliminar datos del cliente
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Cliente registrado
Poscondiciones: Cliente eliminado
Flujo: Pasos Accin
37

1 El Sistema muestra la lista de clientes registrados.


2 El Cajero selecciona el cliente
El Sistema presenta un mensaje de confirmacin de eliminacin
Principal 3
del cliente.
4 El Cajero confirma la eliminacin del cliente.
5 El Sistema elimina el cliente
1 En 4.- El cajero cancela la eliminacin del cliente
Secundario1
2 El sistema cancela la accin
En 5.- El sistema no elimina el cliente y muestra un mensaje de
Secundario2 1
error.

Tabla 2. 15 Especificacin de Casos de Uso - Eliminar Cliente

Caso de Uso: Consultar Cliente


Propsito: Buscar cliente
Actores: Cajero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Cliente registrado
Poscondiciones: Mostrar informacin del cliente
Flujo: Pasos Accin
1 El Sistema muestra la lista de clientes registrados.
El Cajero busca el cliente por las siguientes caractersticas: razn
Principal 2
social, ruc, apellido.
3 El Sistema busca y muestra los datos del cliente.
En 3.- El Sistema no encuentra el cliente y muestra un mensaje de
Secundario1 1
error.

Tabla 2. 16 Especificacin de Casos de Uso - Consultar Cliente

Caso de Uso: Listar Ventas


Propsito: Calcular el total de ventas (das, semanas, mes fechas limitadas)
Actores: Cajero, contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Facturas registradas
Poscondiciones: Total de ventas (das, semana, mes, fechas limitadas)
Flujo: Pasos Accin
1 El cajero selecciona la fecha desde / hasta
Principal
2 El cajero selecciona buscar
38

El Sistema calcula y muestra las ventas en efectivo, crdito y el


3 total de ventas realizadas en la fecha seleccionada.

1 En 2.- El cajero selecciona cancelar


Secundario1
2 El Sistema cancela la accin

Tabla 2. 17 Especificacin de Casos de Uso Listar Ventas

2.1.2.3.2. Caso de uso del paquete Gestin de Compras


<<extend>>

registrarProveedor
<<include>>

<<include>> registrarDetalle
registrarCompra
<<include>>
modificarDetalle

registrarCrditoCompra

eliminarDetalle

eliminarCrditoCompra

<<extend>>

<<extend>> <<extend>>
registrarDetallePagoCompra
listarCrditoCompra
<<extend>>
Contador
modificarDetallePagoCompra actualizarStock
(from Actors)
registarDevolucinCompra
<<extend>>
eliminarDetallePagoCompra

modificarDevolucinCompra
<<include>>

<<include>>
eliminarDevolucinCompra
<<include>>

<<include>>
consultarDevolucinCompra verificarDevolucinCompra

listarCompras
<<include>>

<<include>>
modificarProveedor
verificarProveedor
<<include>>

eliminarProveedor

consultarProveedor

Figura 2. 3 Diagrama de Casos de Uso del paquete Gestin de Compras


39

Caso de Uso: Registrar Compra


Propsito: Registrar la factura y aumentar el stock del producto
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
acceso al sistema.
Precondiciones:
Producto registrado
Empleado registrado
Proveedor Registrado
Poscondiciones:
Factura emitida

Flujo: Pasos Accin

1 El contador selecciona registrar compra


2 El Sistema genera un numero de factura
3 El Contador selecciona nuevo detalle de factura
4 El Sistema muestra la interfaz de registro de detalle de factura.
5 El Contador ingresa el cdigo o descripcin del producto
6 El Sistema muestra los datos del producto ingresado.
7 El Contador ingresa la cantidad del producto.
8 El Sistema guarda los datos

9 En caso de agregar ms detalles de factura regresar al paso 3


Principal
10 El Sistema calcula el subtotal, iva, total de la factura

11 El Contador selecciona si el tipo de pago contado

El sistema muestra el valor total de la factura en la variable


12
contado.

13 El Contador busca el nombre del proveedor

14 El Contador elige guardar factura.


15 El Sistema valida y guarda los datos.
El Sistema actualiza el stock, costo, ganancia, precio sin iva, precio
16
con iva, fecha de modificacin del producto.
1 En 2.- El Contador elige la opcin modificar detalle de factura

2 El Contador selecciona el detalle de factura


Secundario 1 3 El Sistema carga los datos anteriores
4 El Contador modifica la cantidad del producto
5 El Sistema valida la cantidad y guarda los datos.
1 En 2.- El Contador elige la opcin eliminar detalle de factura
Secundario 2 2 El Contador selecciona el detalle de factura
3 El Sistema elimina los datos.
Secundario 4 1 En 12.- El contador selecciona el tipo de pago crdito
40

2 El sistema muestra el valor total de la factura en la variable crdito


3 El contador ingresa cantidad de abono
5 El sistema calcula y muestra el saldo de la factura.
6 El contador selecciona las fechas de pago.
1 En 14.- El Contador registrar un nuevo proveedor
2 El sistema muestra la interfaz de nuevo proveedor
El contador ingresa los datos: cdigo, razn social, ruc,
Secundario 5
3 representante, direccin, ciudad, telfono, email, crdito, fecha de
ingreso, observacin.
4 El Sistema valida y guarda los datos del proveedor.
1 En 15.- El contador selecciona cancelar
Secundario 6
2 El contador regresa al paso 2 del flujo principal
En 16.- los datos ingresados por el contador no son validos el
Secundario 7 1
sistema muestra un mensaje de error.

Tabla 2. 18 Especificacin de Casos de Uso Registrar compra

Caso de Uso: Registrar Crdito de Compra


Propsito: Registrar crditos de proveedor.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Compras registradas con el tipo de pago a crdito.
Poscondiciones: Crdito registrado.
Flujo: Pasos Accin
1 El contador selecciona nuevo crdito.

2 El Sistema muestra la interfaz del nuevo crdito

3 El Contador ingresa el nmero de factura.


El Sistema despliega los datos de la factura: proveedor, fecha de
Principal 4
compra, subtotal.
7 El Contador selecciona guardar
8 El Sistema valida y guarda los datos.

9 El Sistema muestra la lista de los crditos registrados.

En 8.- los datos no son validos el sistema muestra un mensaje de


Secundario 1 1
error.

Tabla 2. 19 Especificacin de Casos de Uso Registrar Crdito


41

Caso de Uso: Eliminar Crdito de Compra


Propsito: Eliminar crditos registrados.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito registrado
Poscondiciones: Crdito eliminado
Flujo: Pasos Accin
1 El sistema muestra la lista de crditos.
Principal 2 El Contador selecciona el crdito.
3 El sistema eliminar el crdito.
En 3.- El sistema no puede eliminar el crdito y muestra mensaje
Secundario1 1
de error.

Tabla 2. 20 Especificacin de Casos de Uso Eliminar Crdito de Compra

Caso de Uso: Listar Crdito de Compra


Propsito: Listar crditos con el respectivo detalle de pago
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito registrado
Poscondiciones: Listar crditos.
Flujo: Pasos Accin
1 El sistema muestra la lista de crditos.

Principal 2 El Contador busca el crdito.

3 El sistema buscar y muestra el crdito con los detalles de pago.

En 3.- El sistema no encuentra el crdito y muestra mensaje de


Secundario1 1
error.

Tabla 2. 21 Especificacin de Casos de Uso Listar crdito de Compra

Caso de Uso: Registrar Detalle de pago de Compra


Propsito: Registrar detalles de pago de compra
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito registrado
Poscondiciones: Detalles de pago registrados
42

Flujo: Pasos Accin


1 El contador selecciona nuevo detalle de pago.
2 El Sistema muestra la interfaz del detalle de pago.
El Contador selecciona el nmero de pago, ingresa la cantidad del
3
abono.
4 El Sistema calcula y muestra el valor del saldo.
Principal
5 El Contador selecciona guardar
6 El Sistema valida y guarda los datos.
7 El Sistema actualiza y muestra el valor del saldo del crdito.
8 El contador selecciona imprimir crdito
9 El sistema imprime el crdito con sus respectivos detalles de pago.
En 6.- los datos no son validos el sistema muestra un mensaje de
Secundario1 1
error.

Tabla 2. 22 Especificacin de Casos de Uso Registrar Detalle de pago de Compra

Caso de Uso: Modificar Detalle de pago de Compra


Propsito: Modificar detalle de pago
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Detalle de pago registrado
Poscondiciones: Detalle de pago actualizado.
Flujo: Pasos Accin
1 El contador selecciona el detalle de pago.
2 El Sistema carga los datos del detalle del pago.
3 El Sistema calcula y muestra el saldo anterior.
4 El Contador modifica la cantidad del abono.
Principal
5 El Sistema calcula y muestra el nuevo saldo
6 El Contador selecciona guardar detalle de pago.
7 El Sistema valida y guarda los datos.
8 El Sistema actualiza y muestra el saldo del crdito.
En 7.- los datos no son validos el sistema muestra un mensaje de
Secundario 1 1
error.

Tabla 2. 23 Especificacin de Casos de Uso Modificar Detalle de pago de Compra


43

Caso de Uso: Eliminar Detalle de pago de Compra


Propsito: Eliminar detalle de pago
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Detalle de pago registrado
Poscondiciones: Detalles de pago eliminado
Flujo: Pasos Accin
1 El contador selecciona el detalle de pago.
El Sistema despliega una confirmacin para la eliminacin del
2
detalle de pago.
Principal
3 El Contador confirma la eliminacin del detalle de pago
4 El Sistema calcula y muestra el saldo anterior.
5 El Sistema actualiza y muestra el nuevo saldo.
1 En 3.- el contador cancela la eliminacin del detalle de pago.
Secundario 1
2 El Sistema cancela la accin

Tabla 2. 24 Especificacin de Casos de Uso Eliminar Detalle de pago de Compra

Caso de Uso: Registrar devolucin de Compra


Propsito: Registrar devoluciones de productos de facturas emitidas.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Factura emitida.
Poscondiciones: Devolucin del producto.
Flujo: Pasos Accin
1 El Sistema muestra la lista de devoluciones registradas.
2 El contador selecciona nueva devolucin.
3 El Contador ingresa el cdigo del producto
El Sistema muestra los datos del producto: descripcin, unidad,
4
precio unitario.

Principal 5 El Contador ingresa la cantidad y el descuento.

El Sistema calcula y muestra el valor del descuento, el subtotal y


6
el total de la factura
7 El Contador selecciona guardar
8 El Sistema valida y guarda los datos de la devolucin
9 El Sistema actualiza el stock del producto.
44

10 El Sistema muestra la lista de devoluciones registrados.


En 8.- los datos no son validos el sistema muestra un mensaje de
Secundario 1 1
error.

Tabla 2. 25 Especificacin de Casos de Uso Registrar Devolucin de Compras

Caso de Uso: Modificar devolucin de Compra


Propsito: Modificar devoluciones de productos de facturas emitidas.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Devolucin registrada
Poscondiciones: Actualizacin de la devolucin del producto.
Flujo: Pasos Accin
1 El sistema muestra la lista de devoluciones registrados.
2 El contador selecciona la devolucin.
3 El Sistema carga los datos del detalle de la devolucin.
4 El Contador modifica los datos
Principal
5 El Contador selecciona guardar
6 El Sistema valida y guarda los datos.
7 El Sistema actualiza el stock del producto.
8 El Sistema muestra la lista de devoluciones registrados.
En 6.- los datos no son validos el sistema muestra un mensaje de
Secundario1 1
error.

Tabla 2. 26 Especificacin de Casos de Uso Modificar Devolucin de Compras

Caso de Uso: Eliminar devolucin de Compra


Propsito: Eliminar devoluciones de productos de facturas emitidas.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Devolucin registrada.
Poscondiciones: Eliminacin de devolucin del producto.
Flujo: Pasos Accin
1 El sistema muestra la lista de devoluciones registrados.
2 El contador selecciona la devolucin.
Principal El Sistema despliega una confirmacin para la eliminacin de la
3
devolucin del producto
4 El Contador confirma la eliminacin de la devolucin del producto.
45

5 El Sistema actualiza el stock del producto


6 El Sistema muestra la lista de devolucin de productos.
1 En 4.- el contador cancela la devolucin.
Secundario 1
2 El sistema cancela la accin

Tabla 2. 27 Especificacin de Casos de Uso Eliminar Devolucin de Compras

Caso de Uso: Consultar devolucin de Compra


Propsito: Consultar devoluciones de productos de facturas emitidas.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Devolucin registrada.
Poscondiciones: Listar devolucin.
Flujo: Pasos Accin
1 El sistema muestra la lista de devoluciones registrados.
El contador busca la devolucin de acuerdo a las siguientes
Principal 2 caractersticas: cdigo de producto, fecha de devolucin o nmero
de factura.
3 El Sistema busca y muestra la devolucin de producto.
En 3.- El sistema no encuentra la devolucin y muestra mensaje
Secundario1 1
de error.

Tabla 2. 28 Especificacin de Casos de Uso Consultar Devolucin de Compras

Caso de Uso: Registrar Proveedor


Propsito: Registrar datos del Proveedor
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Proveedor registrado
Flujo: Pasos Accin
1 El Contador selecciona nuevo proveedor.

2 El Sistema presenta la interfaz de nuevo proveedor.

El Contador ingresa los datos del proveedor: Razn Social,


Principal 3 CI/RUC, nombre, apellido, direccin, telfono, email, fecha de
ingreso, observacin.
4 El Contador selecciona guardar.
5 El Sistema valida y guarda los datos
Secundario1 1 En 6.- El Contador selecciona cancelar
46

2 El Sistema cancela la accin


En 7.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 29 Especificacin de Casos de Uso - Registrar Proveedor

Caso de Uso: Modificar Proveedor


Propsito: Actualizar datos del proveedor.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Proveedor registrado
Poscondiciones: Datos del proveedor actualizado
Flujo: Pasos Accin
1 El Sistema muestra la lista de proveedores registrados.
2 El Contador selecciona el proveedor.
El Sistema presenta la interfaz de registro del proveedor con los
3
Principal datos actuales.
4 El Contador modifica los datos del proveedor.

5 El Contador selecciona guardar


6 El Sistema valida y guarda los datos
1 En 5.- El contador selecciona cancelar
Secundario1
2 El sistema cancela la accin
En 6.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 30 Especificacin de Casos de Uso - Modificar Proveedor

Caso de Uso: Eliminar Proveedor


Propsito: Eliminar datos del proveedor
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Proveedor registrado
Poscondiciones: Proveedor eliminado
Flujo: Pasos Accin
1 El Sistema muestra la lista de proveedores registrados.
2 El Contador selecciona el proveedor
Principal
El Sistema presenta un mensaje de confirmacin de eliminacin
3
del proveedor.
47

4 El Contador confirma la eliminacin del proveedor.


5 El Sistema elimina el proveedor
1 En 4.- El contador cancela la eliminacin del proveedor
Secundario1
2 El sistema cancela la accin
En 5.- El sistema no elimina el proveedor y muestra un mensaje de
Secundario2 1
error.

Tabla 2. 31 Especificacin de Casos de Uso - Eliminar Proveedor

Caso de Uso: Consultar Proveedor


Propsito: Buscar proveedor
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Proveedor registrado
Poscondiciones: Mostrar informacin del proveedor
Flujo: Pasos Accin
1 El Sistema muestra la lista de proveedores registrados.
El Contador busca el proveedor por las siguientes caractersticas:
Principal 2
razn social, cdigo, representante.
3 El Sistema busca y muestra los datos del proveedor.
En 3.- El Sistema no encuentra el proveedor y muestra un
Secundario1 1
mensaje de error.

Tabla 2. 32 Especificacin de Casos de Uso - Consultar Proveedor

Caso de Uso: Listar Compras


Propsito: Calcular el total de compras (das, semanas, mes fechas limitadas)
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Facturas registradas
Poscondiciones: Total de compras (das, semana, mes, fechas limitadas)
Flujo: Pasos Accin
1 El contador selecciona la fecha desde / hasta
2 El contador selecciona buscar
Principal
El Sistema calcula y muestra las compras en efectivo, crdito y el
3 total de compras realizadas en la fecha seleccionada.

Secundario1 1 En 2.- El contador selecciona cancelar


48

2 El Sistema cancela la accin

Tabla 2. 33 Especificacin de Casos de Uso Listar Compras

2.1.2.3.3. Caso de uso del paquete Gestin de Inventario

registrarProducto

modif icarProducto
<<include>>

<<include>>
<<include>> eliminarProducto
<<include>>

v erif icarProducto
consultarProducto

registrarSubcategoraProducto

<<include>>

<<include>> modif icarSubcategoraProducto

<<include>>

v erif icarSubcategoraProducto eliminarSubcategoraProducto


<<include>>

Bodeguero

consultarSubcategoraProducto

registrarCategoraProducto

<<include>>

<<include>>
modif icarCategoraProducto
<<include>>

v erif icarCategoraProducto
eliminarCategoraProducto

Figura 2. 4 Diagrama de Casos de Uso del paquete Gestin de Inventario


49

Caso de Uso: Registrar Producto


Propsito: Ingresar nuevo producto
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Subcategora de productos registrados.
Poscondiciones: Producto registrado y ordenado por subcategora.
Flujo: Pasos Accin
1 El Bodeguero selecciona nuevo producto
2 El Sistema muestra la interfaz del nuevo producto
El Bodeguero ingresa datos: selecciona la subcategora de
3 productos, ingresa el cdigo, descripcin, unidad, stock, costo,
porcentaje de ganancia.
Principal
El Sistema calcula y muestra el valor de la ganancia, el precio con
4
y sin iva.
5 El Bodeguero selecciona guardar

6 El Sistema valida y guarda los datos.


7 El Sistema muestra la lista de productos registrados.
En 6.- los datos no son vlidos el sistema muestra un mensaje de
Secundario1 1
error.

Tabla 2. 34 Especificacin de Casos de Uso Registrar Producto

Caso de Uso: Modificar Producto


Propsito: Actualizar datos del producto
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Producto registrado
Poscondiciones: Producto actualizado y ordenado por subcategora.
Flujo: Pasos Accin
El Sistema muestra la lista de productos ordenados por
1
subcategora.

2 El bodeguero selecciona el producto.


Principal 3 El Sistema muestra los datos del producto seleccionado.
4 El Bodeguero ingresa los datos a modificar.
El Bodeguero selecciona guardar.
5
50

6 El Sistema valida y guarda los datos.


7 El Sistema muestra la lista de productos registrados.
En 6.- los datos no son validos el sistema muestra un mensaje de
Secundario1 1
error.

Tabla 2. 35 Especificacin de Casos de Uso Modificar Producto

Caso de Uso: Eliminar Producto


Propsito: Eliminar producto registrado
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Producto registrado
Poscondiciones: Producto eliminado de la lista
Flujo: Pasos Accin
El Sistema muestra la lista de productos ordenados por
1
subcategora
2 El bodeguero selecciona el producto
Secundario1 El Sistema despliega una confirmacin para la eliminacin del
3
producto
4 El Bodeguero confirma la eliminacin del producto.
5 El Sistema elimina el producto
Secundario1 1 En 4.- El bodeguero cancela la accin.
En 5.- El sistema no elimina el producto, muestra un mensaje de
Secundario2 1
error.

Tabla 2. 36 Especificacin de Casos de Uso Eliminar Producto

Caso de Uso: Consultar Producto


Propsito: Consultar producto
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Productos registrados.
Poscondiciones: Mostrar informacin del producto
Flujo: Pasos Accin
1 El Sistema muestra la lista de productos registrados.
Principal
2 El Bodeguero busca el producto por las siguientes caractersticas:
51

Subcategora, cdigo, stock, fecha de modificacin.


3 El Sistema busca y muestra el producto.
En 3.- El Sistema no encuentra el producto y muestra un mensaje
Secundario1 1
de error.

Tabla 2. 37 Especificacin de Casos de Uso Consultar Producto

Caso de Uso: Registrar Subcategora de producto


Propsito: Ingresar nueva subcategora de producto.
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Categora de productos registrados.
Poscondiciones: Subcategora de producto registrado.
Flujo: Pasos Accin
El Sistema muestra la lista de las subcategora de producto
1
registrado.
2 El Bodeguero selecciona nueva subcategora de producto.
El Sistema muestra la interfaz para la nueva subcategora de
3
producto.
El Bodeguero ingresa los datos: selecciona la categora de
4
productos a la que pertenece, ingresa el cdigo y descripcin.
Principal
5 El Bodeguero selecciona guardar.
6 El Sistema valida y guarda los datos.

El Sistema muestra la lista de subcategoras de productos


7
registrados.
1 En 5.- El bodeguero selecciona cancelar
Secundario1
2 El sistema cancela la accin
En 6.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 38 Especificacin de Casos de Uso Registrar Subcategora de producto.

Caso de Uso: Modificar Subcategora de producto


Propsito: Actualizar subcategora de producto.
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Subcategora de producto registrado
52

Poscondiciones: Subcategora de producto actualizado.


Flujo: Pasos Accin
1 El Sistema muestra la lista de subcategora de productos.
2 El bodeguero selecciona la subcategora de producto.

3 El Sistema muestra los datos.


4 El Bodeguero ingresa los datos a modificar.
Secundario
5 El Bodeguero selecciona guardar.
6 El Sistema valida y guarda los datos.
El Sistema muestra la lista de subcategora de productos
7
registrados.
1 En 5.- El bodeguero selecciona cancelar
Secundario1
2 El sistema cancela la accin
En 6.- los datos no son validos el sistema muestra un mensaje de
Secundario2 1
error.

Tabla 2. 39 Especificacin de Casos de Uso Modificar Subcategora de producto.

Caso de Uso: Eliminar Subcategora de producto


Propsito: Eliminar subcategora de producto
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Subcategora de producto registrado.
Poscondiciones: Subcategora de producto eliminado
Flujo: Pasos Accin
El Sistema muestra la lista de subcategora de productos
1
registrados.

2 El bodeguero selecciona la subcategora de producto

El Sistema despliega una confirmacin para la eliminacin de la


Principal 3
subcategora del producto.
El Bodeguero confirma la eliminacin de la subcategora del
4
producto.
5 El Sistema elimina la subcategora de producto.
En 4.- El bodeguero cancela la eliminacin de la subcategora de
1
Secundario1 producto
2 El sistema cancela la accin
En 5.- El sistema no elimina la subcategora de producto y muestra
Secundario2 1
mensaje de error.

Tabla 2. 40 Especificacin de Casos de Uso Eliminar Subcategora de producto.


53

Caso de Uso: Consultar Subcategora de Producto


Propsito: Buscar subcategora de producto
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Subcategora de Productos registrados.
Poscondiciones: Mostrar informacin de la subcategora de producto
Flujo: Pasos Accin
El Sistema muestra la lista de subcategora de productos
1
registrados.
Principal El Bodeguero busca la subcategora de producto por las
2
siguientes caractersticas: categora, cdigo.
3 El Sistema busca y muestra la subcategora de producto.
En 3.- El Sistema no encuentra la subcategora de producto y
Secundario1 1
muestra un mensaje de error.

Tabla 2. 41 Especificacin de Casos de Uso Consultar Subcategora de Producto

Caso de Uso: Registrar Categora de producto


Propsito: Ingresar nueva categora de producto.
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Categora de producto registrada.
Flujo: Pasos Accin
1 El Sistema muestra la lista de categora de productos registrado.
2 El Bodeguero ingresa los datos: cdigo, nombre, descripcin.
3 El Bodeguero selecciona guardar.
4 El Sistema valida y guarda los datos.
5 El Sistema muestra la lista de categora de productos registrados.
1 En 3.- El bodeguero selecciona cancelar
Secundario1
2 El sistema cancela la accin
En 4.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 42 Especificacin de Casos de Uso Registrar Categora de producto


54

Caso de Uso: Modificar Categora de productos


Propsito: Ingresar nueva categora de producto.
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Categora de producto registrada.
Flujo: Pasos Accin
1 El Sistema muestra la lista de categora de productos

2 El bodeguero selecciona la categora de producto


3 El Sistema muestra los datos.
Principal 4 El Bodeguero ingresa los datos a modificar.
5 El Bodeguero selecciona guardar
6 El Sistema valida y guarda los datos.
7 El Sistema muestra la lista de categora de productos registrados.
En 6.- los datos no son validos el sistema muestra mensaje de
Secundario1 1
error.

Tabla 2. 43 Especificacin de Casos de Uso Modificar Categora de producto

Caso de Uso: Eliminar Categora de producto


Propsito: Eliminar categora de producto
Actores: Bodeguero
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Categora de producto registrado
Poscondiciones: Categora de producto eliminado
Flujo: Pasos Accin
1 El Sistema muestra la lista de categora de productos registrados.
2 El bodeguero selecciona la categora de producto
El Sistema despliega una confirmacin para la eliminacin de la
3
Principal categora del producto.
4 El Bodeguero confirma la eliminacin de la categora del producto.
5 El Sistema elimina la categora de producto
6 El Sistema muestra la lista de categora de productos registrados.
En 4.- El bodeguero cancela la eliminacin de la categora de
1
Secundario1 producto.
2 El sistema cancela la accin
55

En 5.- El sistema no elimina la categora de producto y muestra un


Secundario2 1
mensaje de error.

Tabla 2. 44 Especificacin de Casos de Uso Eliminar Categora de producto

2.1.2.3.4. Caso de uso del paquete Gestin de Administracin

modif icarParametros

registrarEmpleado
<<include>>

<<include>>

<<include>>
modif icarEmpleado
v erif icarEmpleado <<include>>

Administrador

eliminarEmpleado

consultarEmpleado

Figura 2. 5 Diagrama de Casos de Uso del paquete Gestin de Administracin

Caso de Uso: Registrar Empleado


Propsito: Registrar informacin del empleado
Actores: Administrador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Empleados registrados
Flujo: Pasos Accin
1 El Sistema muestra la lista de empleados registrados.
2 El Administrador selecciona nuevo empleado.

3 El Sistema muestra la interfaz para el nuevo empleado

El Administrador ingresa los datos: ingresa el cdigo, ci, nombre,


Principal 4
apellido, direccin, telfono, email, fecha de ingreso, estado civil.
5 El Administrador selecciona guardar.
6 El Sistema valida y guarda los datos.

7 El Sistema muestra la lista de empleados registrados.

Secundario1 1 En 5.- El Administrador selecciona cancelar


56

2 El sistema cancela la accin.

En 6.- los datos no son validos el sistema muestra mensaje de


Secundario2 1
error.

Tabla 2. 45 Especificacin de Casos de Uso Registrar Empleado

Caso de Uso: Modificar Empleado


Propsito: Actualizar datos del empleado
Actores: Administrador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Empleado registrado
Poscondiciones: Datos del empleado actualizado
Flujo: Pasos Accin
1 El Sistema muestra la lista de empleados registrados.
2 El Administrador selecciona el empleado.
3 El Sistema muestra los datos
Principal
4 El Administrador modifica los datos.
5 El Administrador selecciona guardar
6 El Sistema valida y guarda los datos.
7 El Sistema muestra la lista de empleados registrados.
1 En 5.- El Administrador selecciona cancelar
Secundario 1
2 El Sistema cancela la accin
En 6.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error

Tabla 2. 46 Especificacin de Casos de Uso Modificar Empleado

Caso de Uso: Eliminar Empleado


Propsito: Eliminar los datos del empleado
Actores: Administrador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Empleado registrado
Poscondiciones: Empleado eliminado
Flujo: Pasos Accin
1 El Sistema muestra la lista de empleados registrados.
Principal
2 El Administrador selecciona el empleado.
57

El Sistema despliega una confirmacin para la eliminacin del


3
empleado.
4 El Administrador confirma la eliminacin del empleado
5 El Sistema elimina el empleado.
6 El Sistema muestra la lista de empleados registrados.
1 En 4.-El Administrador cancela la eliminacin
Secundario1
2 El Sistema cancela la accin
En 5.- El sistema no elimina el empleado y muestra un mensaje de
Secundario2 1
error.

Tabla 2. 47 Especificacin de Casos de Uso Eliminar Empleado

Caso de Uso: Consulta Empleado


Propsito: Buscar empleados registrados
Actores: Administrador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Empleado registrado
Poscondiciones: Mostrar informacin del empleado
Flujo: Pasos Accin
1 El Sistema muestra la lista de empleados registrados.
El Administrador busca el empleado por las siguientes
Principal 2
caractersticas: cdigo, ci, apellido.
3 El Sistema busca y muestra los datos del empleado
En 3.-El sistema no encuentra el empleado y muestra mensaje de
Secundario1 1
error.

Tabla 2. 48 Especificacin de Casos de Uso Consultar Empleado


58

2.1.2.3.5. Caso de uso del paquete Gestin de Ingresos y Gastos

<<include>> registrarGasto
generarPagoImpuesto

<<include>>
modificarGasto
n <<include>>
verificarGasto

<<include>>
mostrarRentabilidad
eliminarGasto

Contador
consultarGasto
(from Actors)
listarProductosBajoStock

registrarCategoraGasto

listarPagosPendientesProveedores
<<include>>
<<include>>
modificarCategoraGasto

<<include>>
verificarCategoraGasto
<<include>> listarPagosPendientesCliente
eliminarCategoraGasto

consultarCategoraGasto

Figura 2. 6 Diagrama de Casos de Uso del paquete Gestin de Ingresos y Gastos

Caso de Uso: Registrar Categora de Gasto


Propsito: Registrar categora de gastos
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Categora de gasto registrado
Flujo: Pasos Accin
1 El Contador selecciona nueva categora de gasto

2 El Sistema muestra la interfaz para la nueva categora de gasto

3 El Contador ingresa los datos: cdigo, nombre, descripcin.


4 El Contador selecciona guardar.
59

5 El Sistema valida y guarda los datos.


6 El Sistema muestra la lista de categora de gastos registrados.
1 En 4.- El contador selecciona cancelar
Secundario 1
2 El sistema cancela la accin
En 5.- los datos no son validos el sistema muestra mensaje de
Secundario2 1
error.

Tabla 2. 49 Especificacin de Casos de Uso Registrar Categora de Gasto

Caso de Uso: Modificar Categora de Gasto


Propsito: Actualizar los datos de la categora de productos
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Categora de gasto registrado.
Poscondiciones: Categora de gastos actualizado
Flujo: Pasos Accin
1 El Sistema muestra la lista de categora gastos registrados.
2 El Contador selecciona la categora de gasto
3 El Sistema muestra los datos de la categora de gasto
Principal 4 El Contador modifica los datos
5 El Contador selecciona guardar.
6 El Sistema valida y guarda los datos
7 El Sistema muestra la lista de categora de gastos registrados.
En 6.- los datos no son validos el sistema muestra mensaje de
Secundario1 1
error.

Tabla 2. 50 Especificacin de Casos de Uso Modificar Categora de Gasto

Caso de Uso: Eliminar Categora de Gasto


Propsito: Agrupar los gastos por categoras.
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Categora de gastos.
Flujo: Pasos Accin
1 El Sistema muestra la lista de categora de gastos registrados.
Principal 2 El Contador selecciona la categora de gasto.
3 El Sistema presenta un mensaje pidiendo la confirmacin de
60

eliminacin de la categora de gasto.


4 El Contador confirma la eliminacin de la categora de gasto.
5 El Sistema elimina la categora de gasto.
6 El Sistema muestra la lista de categora de gastos registrados.
1 En 4.- El contador cancela la eliminacin de la categora de gasto.
Secundario1
2 El sistema cancela la accin
En 5.- El sistema no elimina la categora de gasto, muestra un
Secundario2 1
mensaje de error.

Tabla 2. 51 Especificacin de Casos de Uso Eliminar Categora de Gasto

Caso de Uso: Registrar Gasto


Propsito: Registrar un nuevo gasto
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones:
acceso al sistema.
Poscondiciones: Gasto registrado
Flujo: Pasos Accin
1 El Contador selecciona nuevo gasto

2 El Sistema muestra la interfaz de nuevo gasto

El Contador ingresa los datos: selecciona el tipo de gasto, ingresa


3
Principal el No de factura, fecha de compra, Total, Observacin.
4 El Contador selecciona guardar.
5 El Sistema valida y guarda los datos
6 El Sistema muestra la lista de gastos registrados.
1 En 4.- El contador selecciona cancelar
Secundario 1
2 El sistema cancela la accin
En 5.- los datos no son validos, el sistema muestra mensaje de
Secundario2 1
error

Tabla 2. 52 Especificacin de Casos de Uso Registrar Gasto

Caso de Uso: Modificar Gasto


Propsito: Actualizar datos del gasto
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Gasto registrado
Poscondiciones: Gasto actualizado
Flujo: Pasos Accin
61

1 El Sistema muestra la lista de gastos registrados.


2 El Contador selecciona el gasto
3 El Sistema muestra los datos
Principal
4 El Contador modifica los datos
5 El Contador selecciona guardar.
6 El Sistema valida y guarda los datos del gasto.
En 6.- los datos no son validos, el sistema muestra mensaje de
Secundario 2 1
error.

Tabla 2. 53 Especificacin de Casos de Uso Modificar Gasto

Caso de Uso: Eliminar Gasto


Propsito: Eliminar gastos registrados
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Gasto registrado
Poscondiciones: Gasto eliminado
Flujo: Pasos Accin
1 El Sistema muestra la lista de gastos registrados.
2 El Contador selecciona el gasto
El Sistema presenta un mensaje pidiendo la confirmacin de
3
Principal eliminacin del gasto.
4 El Contador confirma la eliminacin del gasto.
5 El Sistema elimina el gasto
6 El Sistema muestra la lista de gastos registrados.

1 En 4.- El Contador cancela la eliminacin del gasto


Secundario1
2 El Sistema cancela la accin
En 5.- El Sistema no elimina el gasto y muestra un mensaje de
Secundario2 1
error.

Tabla 2. 54 Especificacin de Casos de Uso Eliminar Gasto

Caso de Uso: Consultar Gasto


Propsito: Buscar gasto
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Gasto registrado
Poscondiciones: Mostrar informacin del gasto
Flujo: Pasos Accin
62

1 El Sistema muestra la lista de gastos registrados.


El Contador busca el gasto de acuerdo a las siguientes
Principal 2
caractersticas: categora de gasto, nmero de factura.
3 El Sistema busca y muestra el gasto
En 3.- El Sistema no encuentra el gasto y muestra un mensaje de
Secundario1 1
error.

Tabla 2. 55 Especificacin de Casos de Uso Consultar Gasto

Caso de Uso: Generar Pago de Impuesto


Propsito: Generar formulario de impuesto
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
acceso al sistema.
Precondiciones: Ventas registradas
Compras registradas
Gastos registrados
Poscondiciones: Pagar Formulario de impuesto
Flujo: Pasos Accin
1 El Contador selecciona generar pago de impuesto
El Sistema calcula y muestra el total de ventas realizadas en el
2
mes
El Sistema calcula y muestra el total de compras realizadas en el
3
mes
El Sistema calcula y muestra el total de gastos realizados en el
4
Principal mes
El Sistema calcula y muestra el valor del impuestos a pagar, valor
5
del inters y valor del crdito tributario
6 El Contador selecciona generar impuesto
El Sistema genera y llena el formulario del impuesto con los datos
7
calculados.
8 El Sistema descarga el archivo
En 2 y en 3.- El sistema muestra mensaje de error si no existen
Secundario 1 1
ventas ni compras.

Tabla 2. 56 Especificacin de Casos de Uso Generar pago de Impuesto

Caso de Uso: Mostrar rentabilidad


Mostrar informacin de ventas, compras, gastos anuales o de fechas
Propsito: especficas mediante tablas o grficos estadsticos.
Mostrar la categora o subcategora de productos de mayor demanda
63

en la venta.
Mostrar informacin de la ganancia anuales y ratios financieros de
rentabilidad
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
acceso al sistema.
Precondiciones:
Ventas registradas
Compras registradas.
Poscondiciones: Datos resumidos sobre ventas, compras, gastos y ganancia.
Flujo: Pasos Accin
1 El Contador selecciona mostrar rentabilidad.
El Sistema muestra las opciones de venta, compra, gasto, anlisis
2
anual.

Principal 3 El Contador selecciona ventas


4 El Contador selecciona la fecha (das, semana)

5 El Sistema calcula y muestra el total de venta (das, semana)


6 El Sistema grfica las ventas
1 En 2.- El Contador selecciona gasto
2 El Contador selecciona la fecha (das, semana).
Secundario1
3 El Sistema calcula y muestra el total de gasto (das, semana)
4 El Sistema grfica el gasto
1 En 2.- El Contador selecciona compra.
2 El Contador selecciona la fecha (das, semana)
Secundario2
3 El Sistema calcula y muestra el total de compras(das, semana)
4 El Sistema grfica las compras
1 En 2.- El Contador selecciona anlisis anual
2 El Contador selecciona el ao
3 El Sistema calcula y muestra la venta neta
4 El Sistema calcula y muestra la compra neta
Secundario 3 5 El Sistema calcula y muestra el gasto
6 El Sistema calcula y muestra la ganancia bruta
7 El Sistema calcula y muestra la ganancia neta
8 El Sistema calcula y muestra la rentabilidad bruta
9 El Sistema calcula y muestra la rentabilidad neta.

Tabla 2. 57 Especificacin de Casos de Uso Mostrar rentabilidad


64

Caso de Uso: Listar productos bajo stock


Propsito: Mostrar productos con bajo stock
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Ventas registradas
Poscondiciones: Listar productos de bajo stock
Flujo: Pasos Accin
1 El Contador selecciona listar productos con bajo stock
2 El Contador selecciona la cantidad de stock a buscar
Principal
3 El Contador selecciona buscar

4 El Sistema busca y muestra los productos


1 En 3.- El Contador selecciona cancelar
Secundario1
2 El Sistema cancela la accin

Tabla 2. 58 Especificacin de Casos de Uso Listar productos bajo stock

Caso de Uso: Listar pagos pendientes a proveedores


Mostrar una lista de pagos pendientes a los proveedores ordenados por
Propsito:
proveedor y fecha de pago
Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito de proveedores registrados
Poscondiciones: Lista de pagos pendientes a proveedores
Flujo: Pasos Accin
1 El Contador selecciona listar pagos pendientes a proveedores
2 El Contador selecciona la fecha desde / hasta
Principal
3 El Contador selecciona buscar

4 El Sistema busca y muestra la lista de pagos.


1 En 3.- El Contador selecciona cancelar
Secundario1
2 El Sistema cancela la accin

Tabla 2. 59 Especificacin de Casos de Uso Listar pagos pendientes a proveedores

Caso de Uso: Listar pagos pendientes de clientes


Mostrar una lista de pagos pendientes de los clientes ordenados por el
Propsito:
nmero de factura.
65

Actores: Contador
Roles registrados con sus respectivas credenciales de autorizacin de
Precondiciones: acceso al sistema.
Crdito de clientes registrados
Poscondiciones: Lista de pagos pendientes de clientes
Flujo: Pasos Accin
1 El Contador selecciona listar pagos pendientes de clientes
2 El Contador selecciona la fecha desde / hasta
Principal
3 El Contador selecciona buscar

4 El Sistema busca y muestra la lista de pagos.


1 En 3.- El Contador selecciona cancelar
Secundario1
2 El Sistema cancela la accin

abla 2. 60 Especificacin de Casos de Uso Listar pagos pendientes de clientes


Persona
cedula : int
nombre : string
apellido : string
direccin : string
telf ono : string
2.2.
nuev o()
eliminar()
modif icar()
buscar()

Prov eedor
raznSocial : string
ruc : int
f echaIngreso : date

+prov ee 1
+pertenece 1..*
Producto
cdigo : string
nombre : string
cantidad : int
Empleado unidad : string Cliente
login : string +registra +es registrado stock : int +es registrado +registra
ruc : string
contrasea : string
f echaIngreso : date
modulo : string 1 1..* nuev o() 1..* 1
2.2.1. DIAGRAMA DE CLASES

modif icar()
eliminar()
buscar()
listarBajoStock()
CabeceraCompra calcularDisponibilidad()
Dev olucinCompra CabeceraVenta
nmeroFactura +pertenece 1..*
nmeroD ev olucin : int nmeroFactura
f echaCompra
producto : string f echaVenta
subtotal
cantidad : int subtotal
iv a
subtotal : f loat +tiene iv a
+pertenece +tiene total 1
total : f loat total Dev olucinVenta
tipoCobro SubcategoraProducto
ARQUITECTURA DEL SISTEMA

0..1 tipoCobro nmeroDev olucin : int


1 cdigo : string +tiene
calcularTotal() producto : string
buscarC abeceraCompra() nombre : string
nuev o() buscarC abeceraVenta() +pertenece cantidad : int
calcularTotal() 1
modif icar() +tiene calcularTotal() subtotal : f loat
receptarCobro() nuev o()
eliminar() receptarCobro() 0..1 total : f loat
1 compraMes() modif icar()
buscar() v entaMes()
calcularImpuesto() eliminar() +tiene
calcularImpuesto() calcularTotal()
1 buscar() nuev o()
+tiene 1
CrditoCompra +pertenece +tiene modif icar()
+pertenece 1..*
nmeroCrdito : int eliminar()
1
plazo : int 0..1 buscar()
+tiene
cuota : f loat 1 +pertenece
saldo : f loat CategoraProducto

Figura 2. 7 Diagrama de clases Ventas - Compras


1..* DetallePedidoVenta
cdigo : string 0..1
calcularTotal() nombre : string +pertenece cantidad : int
nuev o() +pertenece descripcin : string
1..*
eliminar() nuev o() CrditoVenta precioUnitario : f loat
DetallePedidoCompra
buscar() modif icar() nmeroCrdito : int
buscarPendienteMes() cantidad : int calcularSubtotal()
buscar() plazo : int
descripcin : string nuev o()
1 eliminar() cuota : f loat
+tiene precioUnitario : f loat modif icar()
saldo : f loat
eliminar()
1..* calcularSubtotal()
+pertenece calcularTotal()
nuev o()
nuev o()
modif icar()
DetallePagoCrditoCompra eliminar()
eliminar()
nmeroPago : int buscarPendienteMes()
abono : f loat
66

saldo : f loat +tiene


1
+pertenece 1..*
nuev o()
modif icar() DetallePagoC rditoVenta
eliminar() nmeroPago : int
abono : f loat
saldo : f loat

nuev o()
modif icar()
eliminar()
67

Parametros
razonSocialEmpresa : string
rucEmpresa : int
nombrePropietario : string
impuestoIva : float
simboloMoneda : string
direccinEmpresa : string
telfonoEmpresa : string

modificar()

Figura 2. 8 Diagrama de clases - Parmetros

CategoraGasto
cdigo : string
nombre : string

nuevo()
modificar()
eliminar()
+tiene 1

+pertenece 1
Gasto
nmeroFactura : int
detalle : string
total : float

nuevo()
modificar()
eliminar()
gasto()
gastoMes()

Figura 2. 9 Diagrama de clases - Gastos


68

2.2.2. DIAGRAMAS DE SECUENCIA


2.2.2.1. Diagrama de secuencia- Registrar Venta

UI:RegistrarVenta : Cliente UI:DetallePedidoVenta : DetallePedidoVenta : Producto : CabeceraVenta


: Cajero

registrarVenta()
generarNmeroFactura

buscarCliente(nombre)

mostrarCliente()

crear(nmeroFactura,ciCliente,ciEmpleado)

aadirProducto(codigoProducto,cantidad)

verificarCantidad(codigoProducto)

mostrarProducto()

calcularSubtotal( )

calcularTotal()

mostrarTotal()

receptarPago(tipo,cantidad)

guardar()

generarFactura

imprimirFactura

Figura 2. 10 Diagrama de secuencia Registrar Venta Flujo Principal

Descripcin
En la Fig. 2.6 Muestra la secuencia del caso de uso registrar venta flujo
principal, el usuario que interacta con la interfaz UI:RegistrarVenta es el
cajero, la clase CabeceraVenta llama al mtodo genera nmero de factura,
69

luego el cajero llama al mtodo buscarCliente de la clase cliente enviando


como parmetro el nombre del cliente y este retorna sus datos, despus llama
al mtodo crear de la clase cabeceraVenta enviando como parmetros el
nmero de factura, ci del cliente, ci del empleado, luego se agrega detalles de
factura
desde la interfaz UI:DetallePedidoVenta llama al mtodo agregarProducto
enviando como parmetro el cdigo del producto y la cantidad, la clase del
producto llama al mtodo verifica la cantidad del producto enviando como
parmetro el cdigo del producto y este retorna los detalles del producto, desde
la clase DetallePedidoVenta se llama al mtodo
calcula el subtotal y total de la factura y por ultimo el cajero selecciona el tipo
de pago y la interfaz UI:RegistrarVenta genera e imprime la factura.

UI:RegistrarVenta UI:Cliente : Cliente


: Cajero

registrarVenta()
parametros
crear() nuevo(razonSocial,ruc,nombre,
apellido,direccin,telefono,em
ail,fechaIngreso,observacin)
nuevo(parametros)

validarInformacion()

mostrarCliente

Figura 2. 11 Diagrama de secuencia - Registrar Venta Flujo Secundario (Registrar


Cliente)

Descripcin:
En la Fig. 2.7 Muestra la secuencia del caso de uso registrar venta flujo
secundario Registrar Cliente.
El usuario que interacta con la interfaz UI:RegistrarVenta es el cajero, este
llama a la interfaz UI:Cliente para crear un nuevo cliente, este llama al mtodo
nuevo de la clase cliente enviando como parmetros la razonSocial, ruc,
70

nombre, apellido, direccin, telfono, email, fecha de ingreso, observacin. La


clase cliente invoca al mtodo verificarInformacin y retorna los datos del
cliente a la interfaz.
2.2.2.2. Diagrama de secuencia - Registrar Crdito de Venta

UI:Gestionar crdito : CabeceraVenta : CrditoVenta


: Cajero

registrarCrdito()

buscarFactura(nmeroFactura)

mostrarFactura

crear(nmeroFactura)

validarInformacion()

mostrarCrdito

Figura 2. 12 Diagrama de secuencia Registrar Crdito de Venta Flujo principal

Descripcin:
En la Fig. 2.8 Muestra la secuencia del caso de uso registrar crdito de venta
flujo principal.
El usuario que interacta con la UI:GestionarCredito es el cajero, este invoca al
mtodo buscarFactura enviando como parmetro el nmero de factura a la
clase CabeceraVenta y retorna los datos de la factura y se crea un nuevo
registro en la clase CreditoVenta enviando como parmetro el nmero de
factura y la clase CreditoVenta invoca al mtodo validarInformacion y este
retorna los datos del crdito.
71

2.2.2.3. Diagrama de secuencia - Eliminar Crdito de Venta

UI:GestionarCrdito : CrditoVenta
: Cajero

eliminarCrdito()

buscarCrdito(nmeroCrdito)

mostrarCrdito

eliminar(nmeroFactura)

Figura 2. 13 Diagrama de secuencia Eliminar Crdito de venta Flujo principal

Descripcin:
En la Fig. 2.9 Muestra la secuencia del caso de uso eliminar crdito de venta
flujo principal.
El usuario que interacta con la interfaz UI:GestionarCredito es el cajero este
invoca al mtodo buscarCredito enviando como parmetro el nmero del
crdito a la clase CrditoVenta y este retorna los datos del crdito y elimina el
crdito.
72

2.2.2.4. Diagrama de secuencia - Listar Crdito de venta

UI:Gestionar Crdito : CrditoVenta : DetallePagoCrditoCompra


: Cajero

seleccionarCrdito()

buscar(nmeroCrdito)

buscar(nmeroCrdito)

mostrarCrdito()

mostrarDetallesPago()

Figura 2. 14 Diagrama de secuencia Listar Crdito de Venta Flujo principal


Descripcin:
En la Fig. 2.10 Muestra la secuencia del caso de uso listar crdito de venta flujo
principal.
El usuario que interacta con la interfaz UI:GestionarCredito es el cajero este
invoca al mtodo buscar enviando como parmetro el nmero del crdito a la
clase CrditoVenta y este retorna los datos del crdito e invoca al mtodo
buscar de la clase DetallePagoCreditoCompra y este retorna los detalles de
pago.
73

2.2.2.5. Diagrama de secuencia - Registrar Detalle de pago de venta

UI:GestionarCrdito : CrditoVenta UI:GestionarDetallePago : DetallePagoCrditoVenta


: Cajero

seleccionarCredito()

buscarCrdito(nmeroCrdito)

mostrarCrdito()
crear(nmeroCrdito,nmeroCuota,abono)

validarInformacion()

actualizarSaldo()

mostrarDetallePago

Figura 2. 15 Diagrama de secuencia Registrar detalle de pago de venta Flujo principal

Descripcin:
En la Fig. 2.11 Muestra la secuencia del caso de uso registrar detalle de pago
de venta flujo principal.
El usuario que interacta con la interfaz UI:GestionarCrdito es el cajero este
busca el crdito en la clase CrditoVenta enviando como parmetro el nmero
de crdito y este muestra los datos del crdito.
Una vez selecciona el crdito el cajero desde la interfaz
UI:GestionaDetallePago invoca al mtodo crea un detalle de pago enviando
como parmetro nmero de crdito, nmero de cuota, abono en la clase
DetallePagoCreditoVenta, este valida la informacin y actualiza el saldo del
crdito de la clase CreditoVenta y muestra los detalles de pago.
74

2.2.2.6. Diagrama de secuencia - Modificar Detalle de pago de venta

UI:GestionarCrdito : CrditoVenta UI:GestionarDetallePago : DetallePagoCrditoVenta


: Cajero

seleccionarCrdito()

buscarCrdito(nmeroCrdito)

mostrarCrdito()
mostrarDetallePago()

modificar(cantidad)

validarInformacion()

actualizarSaldo

Figura 2. 16 Diagrama de secuencia Modificar detalle de pago de venta Flujo principal

Descripcin:
En la Fig. 2.12 Muestra la secuencia del caso de uso modificar detalle de pago
de venta flujo principal.
El usuario que interacta con la interfaz UI:GestionarCrdito es el cajero este
busca el crdito en la clase CrditoVenta enviando como parmetro el nmero
de crdito y este muestra los datos del crdito y los datos del detalle de pago.
El cajero selecciona el detalle de pago y llama al mtodo modificar enviando
como parmetro la cantidad a la clase DetallePagoCreditoVenta y este invoca
al mtodo validar informacin y actualiza el saldo de la clase CreditoVenta.
75

2.2.2.7. Diagrama de secuencia - Registrar Devolucin de Venta

UI:GestionarDevolucin : DevolucinVenta : Producto


: Cajero

registrarDevolucin()

crear(cdigoProducto,cantidad)

calcularTotal( )

actualizarStock(cdigoProducto,cantidad)

mostrarDevolucin()

Figura 2. 17 Diagrama de secuencia Registrar Devolucin de Venta Flujo Principal

Descripcin:
En la Fig. 2.13 Muestra la secuencia del caso de uso registrar devolucin de
venta flujo principal.
El usuario que interacta con la interfaz UI:GestionarDevolucin invoca la
mtodo crear de la clase DevolucionVenta enviando como parmetro el cdigo
del producto y la cantidad este invoca al metodo calcularTotal y actualizaStock
de la clase producto enviando como parmetro el cdigo del producto y la
cantidad.
76

2.2.2.8. Diagrama de secuencia - Listar Ventas

UI:ListarVenta : CabeceraVenta
: Cajero

seleccionarFecha(desde,hasta)

buscarFactura(desde,hasta)

calcularTotal( )

mostrarVentas

Figura 2. 18 Diagrama de secuencia Listar Venta Flujo Principal

Descripcin:
En la Fig. 2.14 Muestra la secuencia del caso de uso listar venta flujo principal.
El usuario que interacta con la interfaz UI:ListarVenta es el cajero este
selecciona la fecha enviando como parmetro la fecha desde y la fecha hasta e
invoca al mtodo buscarFactura de la clase CabeceraVenta y este invoca al
mtodo calcularTotal y retorna el total de ventas.
Ver detalle de diagrama de secuencia en Anexo A
77

2.2.3. DIAGRAMA DE ACTIVIDAD


2.2.3.1. Registrar Venta

CAJERO SISTEMA

inicio

Presentar interfaz
Seleccionar
de registrar venta
registrar venta

Generar nmero de
factura

Buscar nombre
del cliente
Verificar existencia
del cliente

no
si Registrar
Cliente
Desplegar datos
del cliente

Seleccionar registrar Presentar interfaz de registrar


detalle de factura detalle de factura

Ingresar codigo o Mostrar campos de


nombre del producto registro

Mostrar Informacin del


producto

Ingresar cantidad Validar existencia


del producto del producto

no
Mostrar mensaje
si producto sin stock
Mostrar total de
la factura
Calcular el subtotal y total de
la factura
si
Confirmar si existe otro
producto para el pedido

no
Seleccionar
tipo de pago

Ingresar la
cantidad

seleccionar Generar
guardar factura Factura

Im primir
Factura

fin

Figura 2. 19 Diagrama de actividad Registrar venta


78

2.2.3.2. Registrar cliente

Cajero Sistema

Inicio

Seleccionar Mostrar campos de


registrar cliente registro

parametros
nuevo(raznSocial, ruc,
nombre,apellido,direccin
,telfono,email,fechaIngre
so,observacin)

Ingresar parametros Datos no vlidos Mostrar mensaje


del cliente de error

Datos vlidos

Registrar informacin
del cliente

Fin Mostrar mensaje de


confirmacin

Figura 2. 20 Diagrama de actividad Registrar cliente

2.2.3.3. Registrar crdito de venta

Caj ero Sistema

Seleccionar Mostrar campos de


registrar crdito registro

nuevo(nmeroFactura,
plazo,
interes,total,cuota)

Ingresar parametros Datos no vlidos Mostar mensaje de


del crdito error
Datos vlidos

Registrar informacin
del crdito

Mostrar mensaje de
confirmacin

Figura 2. 21 Diagrama de actividad Registrar Crdito de Venta


79

2.2.3.4. Registrar devolucin de venta

Caj ero Sistema

Inicio

Seleccionar registrar
devolucin
Mostrar campos de
registro

nuevo(nmeorFactura,
cdigoProducto,cantida
d,total)

Ingresar parametros Datos no vlidosMostrar mensaje


de la devolucin de error
Datos vlidos

Registrar informacin de la
devolucin

Fin Mostrar mensaje de


confirmacin

Figura 2. 22 Diagrama de actividad Registrar Devolucin de Venta


80

2.2.4. DISEO DE INTERFACES


A continuacin se detalla la estructura bsica de las interfaces, formularios as
como el patrn de diseo que mantienen.
2.2.4.1. Diseo de Interfaz ingreso al sistema

Figura 2. 23 Interfaz ingreso al sistema

Descripcin
Por medio de la interfaz que se muestra en la Figura 2.16 los usuarios van a
ingresar al sistema a travs de un Identificador de cada usuario, el mismo que
deber ser escrito en la caja de texto junto a Usuario y una contrasea, al
ingresar el nombre del usuario el sistema mostrara el perfil del mismo.

2.2.4.2. Diseo de Interfaz de FERRASIS


81

Figura 2. 24 Diseo de interfaz de FERRASIS

Descripcin
En la Figura 2.17 se muestra la pantalla principal del Sistema, esta interfaz
muestra las diferentes opciones de trabajo dentro del Sistema, se tiene un
men detallado de opciones para cada actividad y en la parte superior se tiene
el logotipo del sistema.

Tipo de Interfaz Pgina web para el sistema FERRASIS


reas rea de titulo.- Es el ttulo que identifica la pgina.
rea del cuerpo de la pgina.- Es donde se despliega y
trabaja la opcin activa del sistema.
rea de men.- Es el men de opciones que est disponible
para cada modulo
Caractersticas Visuales Color El color de fondo del rea del ttulo es celeste.
El color de fondo de la etiqueta de barra de titulo
es color celeste.
El color de las letras de la etiqueta del rea del
ttulo es blanco
El color de fondo del rea de men es negro.
El color de las letras de la etiqueta de las opciones
82

del rea del men es blanco.


El color de fondo del rea de cuerpo blanco con
cuadriculas celestes.
Letras El sistema utilizara como fuente Helvetica Neue

Tabla 2. 61 Caractersticas visuales del FERRASIS

2.2.4.3. Diseo de la Impresin de la Factura

Figura 2. 25 Diseo de impresin de factura


83

Descripcin
Al imprimir una factura se mostrara un factura simplificada de 7.3cm x 2.15 cm,
el rea de imprenta ser de acuerdo a los datos de la ferretera y datos de la
imprenta.
El cuerpo de la factura ser llenado con los datos del cliente y los detalles de
compras realizados por el cliente
.
2.2.4.4. Diseo Navegacional
La navegacin entre las interfaces en un sistema Web es muy importante, es
un conjunto de estrategias orientadas a conseguir un resultado ptimo en la
localizacin de la informacin y en la orientacin para el usuario.
Las interfaces de navegacin tienen que ayudar a los usuarios a responder a
tres preguntas fundamentales relacionadas con la navegacin, Dnde estoy?
Dnde he estado? Dnde puedo ir?.
El sistema FERRASIS de acuerdo a la investigacin y anlisis en el mercado
ferretero se concluyo que existe 4 usuarios importantes que son: Cajero,
Contador, Bodeguero y el Administrador, razn por la cual se escogi estos 4
usuarios con sus respectivos permisos que sern explicados a continuacin:

2.2.4.4.1. Navegacin Administrador


84

Figura 2. 26 Navegacin Administrador


85

2.2.4.4.2. Navegacin Cajero

Figura 2. 27 Navegacin Cajero

2.2.4.4.3. Navegacin Contador

Figura 2. 28 Navegacin Contador

2.2.4.4.4. Navegacin Bodeguero

Figura 2. 29 Navegacin Bodeguero

NOTA: Cada navegacin ser explicada posteriormente en el manual de usuario


86

2.3. DESARROLLO DEL SISTEMA


2.3.1. IMPLEMENTACIN DEL SISTEMA
La implementacin inicia con el resultado del diseo y se la realiza en trminos
de componentes, como la mayor parte de la arquitectura del sistema es
capturada durante el diseo, siendo el propsito principal de la implementacin
el desarrollar la arquitectura y el sistema como un todo.
En la implementacin se planifica la integracin del sistema de acuerdo a cada
interaccin en una sucesin de pasos pequeos y manejables.
2.3.1.1. Diagrama de base de datos
Para la elaboracin de la base de datos se toma del diagrama de clases.
El Diseo conceptual de la Base de Datos permite construir un modelo de los
datos de acuerdo con los requisitos de las organizaciones.
El diseo conceptual de la base de datos nos permite identificar los siguientes
pasos principales:

Identificar los tipos de entidad

Identificar los tipos de relacin

Identificar y asociar los atributos con los tipos de entidad y de relacin

Claves principales y claves alternativas

Restricciones de integridad
87

Convenciones del modelos de datos

La Tabla 2.25 muestra las convenciones utilizadas para el modelo de datos.

Convencin Descripcin Ejemplo


Los nombres de las tablas sern escritos con
letras minsculas, en singular y con el
Nombres de tablas categoria_producto
separador _ cuando el nombre sea
compuesto.
Los nombres de los atributos sern escritos
Nombre de atributos con letras minsculas y con el separador _ tipo_pago
cuando el nombre sea compuesto.
La clave principal de cada relacin ser el
Clave principal id
campo id (entero autonumrico).
Las claves forneas sern descritas con el
Claves forneas sufijo fk_ con el nombre de la relacin _id al fk_empleado_id
final.

Tabla 2. 62 Convenciones del modelo de datos

El Modelo fsico de datos es generado del modelo conceptual de la base de


datos con la diferencia que genera la implementacin de la base de datos
dependiendo del DBMS que se va utilizar en nuestro caso mysql.

En el diagrama fsico de datos se puede observar claramente las relaciones de


los foreign FK asociados del resto de las tablas de la base de datos.
parametros
productodevolucion_venta
id int(11)
id int(11) ruc varchar(13)
codigo varchar(125) razon_social varchar(255)
empleado
fecha_devolucion datetime nombre_propietario varchar(100)
id int fk_producto_id int direccion varchar(100)
codigo varchar(25) cabpedido_compra fk_subcatproducto_id int telefono varchar(9)
ci varchar(13) id int descripcion varchar(255) fax varchar(9)
nombre varchar(100) fk_empleado_id int cantidad int matriz varchar(255)
apellido varchar(100) fk_proveedor_id int unidad varchar(10) sucursal1 varchar(255)
direccion varchar(100) factura varchar(20) precio_unitario decimal(10,2) sucursal2 varchar(255)
ciudad varchar(100) fecha_compra date descuento int sucursal3 varchar(255)
telefono varchar(9) subtotal decimal(10,2) valor_descuento decimal(10,2) fecha_apertura date
email varchar(100) total_descuento decimal(10,2) cabpedido_venta
FK_fk_cabpedidoventa_productodevolucion subtotal decimal(10,2) impuesto_iva int
fecha_ingreso date total_iva decimal(10,2) id int total decimal(10,2) autorizacion_sri varchar(10)
estado_civil varchar(10) total decimal(10,2) fk_empleado_id int moneda varchar(10)
login varchar(100) varchar(10) fk_cliente_id int
fk_empleado_cabpedidocompratipo_pago
clave varchar(100) efectivo decimal(10,2) fecha_compra datetime cliente
modulo char(100) deuda decimal(10,2) subtotal decimal(10,2) id int(11)
fecha_venc1 date total_descuento decimal(10,2) razon_social varchar(255) categoria_gasto
cuota1 decimal(10,2) total_iva decimal(10,2) varchar(13)
fk_cliente_cabpedidoventa ruc id int(11)
proveedor fecha_venc2 date total decimal(10,2) nombre varchar(100)
cuota2 decimal(10,2) tipo_pago varchar(10) codigo varchar(125)
id int apellido varchar(100)
fecha_venc3 date efectivo decimal(10,2) descripcion varchar(255)
codigo varchar(25) direccion varchar(100)
cuota3 decimal(10,2) deuda decimal(10,2) ciudad varchar(100)
razon_social varchar(255)
fecha_venc4 date telefono varchar(9)
ruc varchar(13) FK_proveedor_cabpedidocompra
cuota4 decimal(10,2) email varchar(100)
representante varchar(100)
fecha_ingreso datetime fk_categoriagasto_gasto
direccion varchar(100) fk_cabpedidoventa_detallepedidoventa
fk_cabpedidoventa_creditocliente
ciudad varchar(100) observacion varchar(255)
fk_cabpedidocompra_detallepedidocompra
telefono varchar(9) gasto
email varchar(100) detallepedido_venta
FK_fk_cabpedidocompra_productodevolucion credito_cliente id int(11)
dias_credito varchar(100) detallepedido_compra id int(7) fk_catgasto_id int
fecha_ingreso date id int(11)
id int(7) codigo varchar(10) categoria_gasto varchar(255)
observacion varchar(255) fk_cabpedidoventa_id int
codigo varchar(25) fk_producto_id int factura varchar(25)
cliente varchar(255)
fk_producto_id int fk_subcatproducto_id int fecha_compra date
fecha_compra datetime
fk_cabpedidocompra_id int fk_cabpedidoventa_id int descripcion varchar(100)
productodevolucion_compra subtotal decimal(10,2)
descripcion varchar(255) descripcion varchar(255) total decimal(10,2)
plazo int
id int(11) cantidad int cantidad int observacion varchar(255)
porcentaje_interes int
factura varchar(255) unidad varchar(10) unidad varchar(10)
interes decimal(10,2)
codigo varchar(125) precio_unitario decimal(10,2) precio_unitario decimal(10,2)
fk_cabpedidocompra_creditoproveedor total decimal(10,2)
fecha_devolucion datetime descuento int descuento int
cuota decimal(10,2)
fk_producto_id int valor_descuento decimal(10,2) valor_descuento decimal(10,2)
saldo decimal(10,2)
fk_subcatproducto_id int total decimal(10,2) total decimal(10,2)
observacion varchar(255)
descripcion varchar(255)
cantidad int
unidad varchar(10)
precio_unitario decimal(10,2) FK_fk_producto_detallepedidocompra FK_Relationship_14 fk_creditocliente_detallepagocliente
descuento int
valor_descuento decimal(10,2)
subtotal decimal(10,2) producto detallepago_cliente
total decimal(10,2)
id int(7) id int(11)
fk_subcatproducto_id int fk_creditocliente_id int
subcatproducto varchar(255) cuota int
codigo varchar(255) fecha_pago datetime
credito_proveedor
detallepago_proveedor nombre varchar(100) abono decimal(10,2)
id int(11) unidad varchar(10) saldo decimal(10,2)
id int(11) fk_cabpedidocompra_id int stock int observacion varchar(255)
fk_creditoproveedor_id int comprobante varchar(100) costo decimal(10,2)
factura varchar(255) proveedor varchar(255) ganancia int
cuota int fechacompra date valor_ganancia decimal(10,2)
fecha_pago datetime total decimal(10,2) precio_unitario decimal(10,2)
abono decimal(10,2) saldo decimal(10,2) val_iva decimal(10,2)
saldo decimal(10,2) fecha_vencimiento1 date precio_iva decimal(10,2)
observacion varchar(255) cuota1 decimal(10,2) fecha_modificacion datetime

Figura 2. 30 Modelo Fsico de Datos del FERRASIS


fecha_vencimiento2 date observacion varchar(255)
fk_creditoproveedor_detallepagoproveedor
cuota2 decimal(10,2)
fecha_vencimiento3 date
cuota3 decimal(10,2) fk_subcatproducto_producto
fecha_vencimiento4 date
cuota4 decimal(10,2)
fecha_vencimiento5 date subcat_producto
cuota5 decimal(10,2)
id int(11)
observacion varchar(255)
fk_categoriaproducto_id int
categoria varchar(255)
codigop varchar(125)
descripcion varchar(255)

fk_categoriaproducto_subcatproducto
88

categoria_producto
id int(11)
codigo varchar(125)
descripcion varchar(255)
89

2.3.1.2. Diagrama de despliegue


Define la arquitectura fsica del sistema. Este trabajo puede comenzar
tempranamente para capturar las caractersticas de despliegue fsico que
hardware, sistemas operativos, capacidades de la red, software de interfaces y
soporte conformarn el nuevo sistema, donde se desplegar y que parmetros
aplica para recuperarse de los desastres, confiabilidad, copias de seguridad y
soporte.

Servidor Web y
Base de datos cliente intranet
LAN

Internet

cliente Web

Figura 2. 31 Diagrama de Despliegue

2.3.1.3. Herramientas utilizadas


Para la realizacin del sistema se utilizaron las siguientes herramientas, la
explicacin de la seleccin del framework y de la base de datos se explico en el
capitulo 1.3.1, 1.3.2
CARCTERSTICAS HERRAMIENTAS VERSIN
php + mysql xampp 1.6.6
Framework Codeigniter 1.7.2

Base de datos MySQL 5.2.5


Interfaz de administracin de base PhpMyAdmin 2.11.4
de datos
Depurador del navegador firefox Firefox Firebug 1.2

Editor de pginas Notepad ++

Librerias de Javascript jQuery 1.7.2

Tabla 2. 63 Herramientas usadas para el desarrollo del FERRASIS


90

2.3.1.4. Pantallas de implementacin del sistema FERRASIS.


La estructura del sistema se lo ha implementado mediante men de opciones
para acceder a las diferentes actividades. A continuacin se incluyen las
pantallas para el men de ventas.
Pantalla Principal

Figura 2. 32 Pantalla Principal

Registrar Venta

Figura 2. 33 Interfaz Registrar Venta


91

Gestionar Crdito y detalle de Pago

Figura 2. 34 Interfaz Gestionar Crdito y detalle de Pago

Gestionar Devolucin

Figura 2. 35 Interfaz Gestionar Devolucin


92

Gestionar Cliente

Figura 2. 36 Interfaz Gestionar Cliente

Listar Ventas

Figura 2. 37 Interfaz Listar Ventas

Nota: Las interfaces para el modulo de compras, ingresos y gastos, inventario,


administracin se encuentra en el Anexo B
93

2.3.1.5. Trabajar con codeigniter


CONFIGURAR CODEIGNITER
Instalar xampp

Descargar codegniter de la url: http://codeigniter.com/downloads

Descomprimir la carpeta y renombrar con el nombre prueba

Copiar la carpeta en htdocs ubicada en C:\xampp\htdocs

Crear la base de datos en mysql:

Ingresamos a phpmyadmin  http://localhost/phpmyadmin


Creamos la BD con el nombre prueba
Configurar los archivos necesarios de codeigniter

o Configurar el archivo autoload.php:


C:\xampp\htdocs\prueba\system\application\config\autoload.php

$autoload['libraries'] = array('database'); //se carga la libreria para la conexin con la BD


$autoload['helper'] = array('url','form'); //se carga la libreria para la url y formularios

o Configurar el archivo config.php

C:\xampp\htdocs\prueba\system\application\config\ config.php

$config['base_url'] = "http://localhost/prueba/"; //nombre a llamar desde la url

o Configurar el archivo database.php:

C:\xampp\htdocs\prueba\system\application\config\ database.php:

$db['default']['hostname'] = "localhost"; //nombre del hostname


$db['default']['username'] = "root"; //username de la base de datos
$db['default']['password'] = ""; //contrasea de la base de datos
$db['default']['database'] = "prueba"; //nombre de la base de datos
$db['default']['dbdriver'] = "mysql"; //driver de la bd

o Configurar el archivo routes.php:

C:\xampp\htdocs\prueba\system\application\config\ routes.php:

$route['default_controller'] = "welcome"; //controlador por default


94

o Mostrar la aplicacin desde la url:


http://localhost/prueba/

CREAR CONTROLADOR MODELO VISTA (MVC)


1. Crear la tabla cliente en la BD prueba:

Ingresamos a mysql (phpmyadmin)  http://localhost/phpmyadmin


Creamos la tabla cliente:

CREATE TABLE cliente (


id int(11) NOT NULL auto_increment,
razon_social varchar(255) NOT NULL,
ruc varchar(13) NOT NULL,
nombre varchar(100) NOT NULL,
apellido varchar(100) NOT NULL,
direccion varchar(100) NOT NULL,
ciudad varchar(100) NOT NULL,
telefono varchar(9) NOT NULL,
email varchar(100) default NULL,
fecha_ingreso date NOT NULL,
observacion varchar(255) default NULL,

2. Crear el controlador cliente:


C:\xampp\htdocs\prueba\system\application\controlluers\cliente.php
95

<?php
class cliente extends Controller{
function cliente(){
parent::Controller();
$this->load->model('mcliente');
}

function tabla(){
$this->load->view('cliente_tabla');
}
function getDatos(){
$numFilas=$this->mcliente->consulta_cliente();
$pagina=$this->input->post('page');
$numFilasPorPagina=$this->input->post('rows');
$campoInicial=$this->input->post('sidx');
$ordenamientoInicial=$this->input->post('sord');
$numPaginas=ceil($numFilas/$numFilasPorPagina);
$posicionInicial=$numFilasPorPagina*$pagina-$numFilasPorPagina;
$buscar = $_POST['_search'];
$cbuscar = "1";
if($buscar != 'false'){
$campo = $this->input->post('searchField');
$valor = $this->input->post('searchString');
$cbuscar = " $campo like '%$valor%' ";
}
$consulta=$this->mcliente->
consulta_tabla($cbuscar,$campoInicial,$ordenamientoInicial,$posicionInicial,$numFilasPorPagina);
$responce->page=$pagina;
$responce->total=$numPaginas;
$responce->records=$numFilas;
foreach($consulta as $i=>$row){
$responce->rows[$i]['id']=$row->id;
$responce->rows[$i]['cell']=array($row->id,$row->razon_social,$row->ruc,$row->nombre,
$row->apellido,$row->direccion,$row->ciudad,$row->telefono,$row->email,$row-
>fecha_ingreso,$row->observacion);
}
echo json_encode($responce);
}
96

function administrar(){
$accion= $this->input->post('oper');
switch($accion){
case 'add':
$this->mcliente->nuevo($this->input->post('razon_social'), $this->input->post('ruc'),
$this->input->post('nombre'), $this->input->post('apellido'),$this->input->post('direccion'),
$this->input->post('ciudad'),$this->input->post('telefono'),$this->input->post('email'),
$this->input->post('fecha_ingreso'),$this->input->post('observacion'));
break;
case 'edit':
$this->mcliente->editar($this->input->post('razon_social'), $this->input->post('ruc'),
$this->input->post('nombre'), $this->input->post('apellido'),$this->input->post('direccion'),
$this->input->post('ciudad'),$this->input->post('telefono'),$this->input->post('email'),
$this->input->post('observacion'),$this->input->post('fecha_ingreso'), $this->input->post('id'));
break;
case 'del':
$this->mcliente->eliminar($this->input->post('id'));
break;
}
}

}
?>

Explicacin: El controlador cliente tiene 4 funciones:


1.- function cliente(){ } .- Inicializa el constructor
2.- function tabla() { } .- tabla es el nombre con que se va a llamar desde el controlador ej.
cliente/tabla
3.- function getDatos(){ } .- Se realiza consultas a la base de datos, se realiza clculos del
nmero de pginas y leer los datos de la tabla.
4.- function administrar(){ }.- Funcin que realiza la operacin de agregar, editar y borrar las
filas de la tabla.
97

3.- Crear el modelo

<?php
class mcliente extends Model{
function nuevo( $razonsocial, $ruc, $nombre, $apellido, $direccion,$ciudad,$telefono,$email,$fecha,$obs){
$datos = array('razon_social'=>$razonsocial,
'ruc'=>$ruc,
'nombre'=>$nombre,
'apellido'=>$apellido,
'direccion'=>$direccion,
'ciudad'=>$ciudad,
'telefono'=>$telefono,
'email'=>$email,
'fecha_ingreso'=>$fecha,
'observacion'=>$obs);
$this->db->insert('cliente',$datos);
return $this->db->insert_id();
}
function editar($razonsocial, $ruc, $nombre, $apellido, $direccion,$ciudad,$telefono,$email,$obs,$fecha,$id){
$datos = array('razon_social'=>$razonsocial,
'ruc'=>$ruc,
'nombre'=>$nombre,
'apellido'=>$apellido,
'direccion'=>$direccion,
'ciudad'=>$ciudad,
'telefono'=>$telefono,
'email'=>$email,
'observacion'=>$obs,
'fecha_ingreso'=>$fecha);
$this->db->where('id', $id);
$this->db->update('cliente',$datos);
}

function eliminar($id){
$this->db->delete('cliente', array('id'=>$id));
}
function consulta_tabla($cbuscar,$campoInicial,$ordenamientoInicial,$posicionInicial,$numFilasPorPagina){
$SQL="SELECT * from cliente where $cbuscar ORDER BY $campoInicial $ordenamientoInicial LIMIT
$posicionInicial,$numFilasPorPagina";
return $consulta=$this->db->query($SQL)->result();
}
function consulta_cliente(){
return $consulta =count($this->db->select('*')->get('cliente')->row());
}
}
?>
98

Explicacin: El modelo cliente tiene 3 funciones:


function nuevo(){ }.- funcin que recibe un arreglo con los datos e inserta en
la tabla cliente
function editar(){ }.- funcin que recibe un arreglo con los datos y modifica la
tabla cliente
function eliminar(){ }.- funcin que recibe el id de la fila e elimina los datos.

4.- Crear la vista


99

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"


"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Cliente</title>
<link rel="stylesheet" href="<?php print base_url()?>themes/ui.jqgrid.css" />
<link rel="stylesheet" href="<?php print base_url()?>themes/redmond/jquery-ui-1.7.1.custom.css" />
<script src="<?php print base_url()?>js/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="<?php print base_url()?>js/jquery-ui-1.7.1.custom.min.js"></script>
<script type="text/javascript" src="<?php print base_url()?>js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="<?php print base_url()?>js/i18n/grid.locale-en.js"></script>
<style>
body {font-size:75%;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;}
</style>
<script>

$(function(){
$('#t_cliente').jqGrid({
url:'<?php print site_url('cliente/getDatos')?>',
datatype:"json",
mtype:'POST',
colNames:['Cdigo','RazonSocial','RUC/CI','Nombre','Apellido','Direccin', 'Ciudad','Telfono',
'Email','Ingreso','Observacin'],
colModel:[
{name:'id',index:'id',width:60,editable:false,editoptions:{size:20},
editrules:{required:false},search:true},
{name:'razon_social',index:'razon_social',width:250,editable:true,editoptions:{size:20},
editrules:{required:false},search:true},
{name:'ruc',index:'ruc',width:150,align:"left",editable:true,editoptions:{size:20},
editrules:{number:true,required:true}},
{name:'nombre',index:'nombre',width:160,align:"left",editable:true,editoptions:{size:20},
editrules:{required:true},search:false},
{name:'apellido',index:'apellido',width:160,align:"left",editable:true,
editoptions:{size:20}, editrules:{required:true},search:true},
{name:'direccion',index:'direccion',width:150,align:"left",editable:true,
editoptions:{size:20},editrules:{required:true},search:false},
{name:'ciudad',index:'ciudad',width:70,align:"left",editable:true,
editoptions:{size:20},editrules:{required:false},search:false,hidden:true},
{name:'telefono',index:'telefono',width:100,align:"left",editable:true, editoptions:{
size:20,maxlength:9},editrules:{number:true,required:false},search:false},
{name:'email',index:'email',width:100,align:"left",editable:true,editoptions:{size:20},
editrules:{email:true,required:false},search:false},
{name:'fecha_ingreso',index:'fecha_ingreso',width:200,align:"left",editable:true,
editoptions:{size:20},editrules:{date:true, required:true},search:false},
{name:'observacion',index:'observacion', width:250, sortable:false,
editable: true,edittype:"textarea", editoptions:{rows:"2",cols:"17"},search:false}
],
pager:jQuery('#paginacion'),
rowNum:15,
rowList:[15,30],
sortname:'id',
viewrecords:true,
sortorder:"asc",
width:'900',
height:'100%',
caption:"Lista de Clientes",
editurl:'<?php print site_url("cliente/administrar")?>'
}).navGrid("#paginacion",{edit:true,add:true,del:true,search:true,refresh:true})
});
</script>
<body>
<table id="t_cliente" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="paginacion" class="scroll" style="text-align:center;"></div>
</body>
</html>
100

Explicacin:
1. En la parte superior se encuentran las etiquetas de una pagina html con
sus respectivo estilo y llamadas a script a utilizarse en la vista.

2. Para leer los datos de la tabla cliente llama al controlador


cliente/getDatos

3. Tanto la fila colNames y colModel tienen la correspondencia con los


datos de la tabla cliente con sus respectivas reglas ej.
{name:'ruc',index:'ruc',width:150,align:"left",editable:true,editoptions:{size
:20}, editrules:{number:true,required:true}},

Indica que el id y el index se llama ruc, el ancho del input es de 150px,


que est alineado a la izquierda, el input es editable, el tamao del input
es de 20px, que tiene como regla que admita solo numero y es un valor
requerido.
El valor rowNum:15 muestra el numero de filas de la tabla cliente,
rowList:[15,30] muestra la lista de 15 o 30 items, sortname:'id' indica que
esta agrupado en orden ascendente por este tem.
Y por ultimo llama al controlador cliente/administrar para que realice la
operacin respectiva (agregar, modificar o eliminar)

6.- Mostrar la pagina desde la url

http://localhost/prueba/index.php/cliente/tabla
101

3. PRUEBAS Y CONTROL DE CALIDAD DEL SW.


Las pruebas son un elemento esencial en el ciclo de desarrollo de software y
Consiste en una revisin final de los requerimientos anlisis, diseo y
codificacin.
El objetivo de las pruebas es encontrar fallas o errores para luego hacer una
Depuracin del sistema y as asegurar que el producto ha sido desarrollado de
acuerdo a los requerimientos y que los errores de la implementacin han
sido detectados.
Las pruebas del sistema se realizaron utilizando casos y procedimientos de
prueba, para los casos de uso identificados durante la etapa de anlisis de
requerimientos.
A continuacin se detallan los casos y procedimientos de prueba para los
principales casos de uso del sistema. Los casos y procedimientos de prueba
para los casos de uso restantes se encuentran en el documento Casos y
procedimientos de prueba, en el CD Anexo.

3.1. EVALUACIN CASO DE ESTUDIO


EVALUACIN CASO DE ESTUDIO CENTRO FERRETERO RUMILOMA
Los criterios para la evaluacin del sistema FERRASIS sern comprobados
mediante el uso del sistema a un grupo de empleados de la ferretera.
Las pruebas son unos de los pasos ms complejos e importante en el
desarrollo de software ya que es el proceso que nos permite encontrar los
errores en el software.
De acuerdo a la informacin detalladas en el capitulo 3.1.2 se proceder a
realizar las pruebas a casos de usos mas representativo para poder comprobar
el funcionamiento del sistema en cuanto a eficacia, facilidad de uso,
accesibilidad, facilidad de instalacin.
102

3.1.1. CASOS DE PRUEBA PARA LOS CASOS DE USO


REPRESENTATIVOS
No. Caso de prueba 1

Usuario Cajero

Nombre de Caso de Uso Registrar Venta

Cliente: Juan Analuisa


Cdigo: 100-101
Entradas
Cantidad: 5
Porcentaje de Descuento:10
Factura No:1
Razn Social: Cerrajera Cemix
Ruc: 1716190697

Descripcin: CAUCHO INDUSTRIAL CORAL


Unidad: galn
Precio Unitario: 28.60
Salidas
Descuento:14.30
Total:128.7

Subtotal:128.70
Descuento:14.3
Iva:15.44
Total:144.14

Descripcin El Cajero registra una nueva factura

1. Ingrese a la opcin ventas, registrar factura


Procedimiento de Prueba 2. Ingrese los datos indicado en la entrada.
3. Escoja la opcin Guardar para guardar los datos.

El sistema FERRASIS valida la informacin ingresada y


Resultados Esperados
registra la nueva venta en la Base de datos.

Tabla 3. 1 Caso de Prueba: Registrar Venta


103

No. Caso de prueba 2

Usuario Cajero

Nombre de Caso de Uso Registrar crdito de venta

Factura No: 1
Entradas Plazo: 2
% de inters por mes: 5

Salidas s/n

Descripcin El Cajero registra un nuevo crdito

1.- Ingrese a la opcin ventas, gestionar crdito


Procedimiento de Prueba 2.- Ingrese los datos indicado en la entrada.
3.- Escoja la opcin Guardar para guardar los datos.

El sistema FERRASIS valida la informacin ingresada y


Resultados Esperados
registra la nuevo crdito en la Base de datos.

Tabla 3. 2 Caso de Prueba: Registrar Crdito de venta

No. Caso de prueba 3

Usuario Cajero

Nombre de Caso de Uso Eliminar Crdito de Venta

Entradas S/N

Salidas S/N

El Cajero puede eliminar un crdito de la base de datos del


Descripcin
sistema FERRASIS

1. Ingrese al men de ventas, gestionar crdito


2. Seleccione el crdito
Procedimiento de Prueba 3. Escoja la opcin de botn Eliminar.
4. Visualice el mensaje de eliminacin.
5. Escoja la opcin de botn Aceptar para confirmar
eliminacin.

Resultados Esperados El sistema FERRASIS elimina el crdito en la base de datos.

Tabla 3. 3 Caso de Prueba: Eliminar crdito de venta


104

No. Caso de prueba 4

Usuario Cajero

Nombre de Caso de Uso Listar Crdito de Venta

Entradas S/N

Salidas Lista de crdito

El Cajero puede buscar un crdito de la base de datos del


Descripcin
sistema FERRASIS

1. Ingrese al men de Ventas, gestionar crdito.


Procedimiento de Prueba 2. Ingrese los Criterios de Bsqueda del crdito.
3. Escoja la opcin de botn buscar para encontrar los datos.

Resultados Esperados El sistema FERRASIS busca el crdito en la base de datos.

Tabla 3. 4 Caso de Prueba: Eliminar crdito de venta

No. Caso de prueba 5

Usuario Cajero

Nombre de Caso de Uso Registrar Devolucin de venta

Factura No:1
Cdigo de producto: 100-101
Entradas
Cantidad:1
% de descuento:10
Subtotal:24.87
Descuento:2.49
Salidas
Iva:2.68
Total:25.07

Descripcin El Cajero registra una nueva devolucin de venta

1. Ingrese a la opcin ventas, gestionar devolucin


Procedimiento de Prueba 2. Ingrese los datos indicado en la entrada.
3. Escoja la opcin Guardar para guardar los datos.
105

El sistema FERRASIS valida la informacin ingresada y


Resultados Esperados
registra la nueva devolucin en la base de datos.

Tabla 3. 5 Caso de Prueba: Registrar Devolucin de venta

No. Caso de prueba 6

Usuario Cajero

Nombre de Caso de Uso Modificar Devolucin de venta

Entradas

Codigo:100-101
Cantidad:1
Subtotal:24.87
Salidas
Descuento:2.49
Iva:2.68
Total:25.07

Descripcin El Cajero registra una nueva devolucin de venta

1. Ingrese al men ventas, gestionar devolucin


2. Seleccione la devolucin a modificar.
3. Seleccione la opcin Modificar.
Procedimiento de Prueba 4. Visualice la informacin correspondiente a la
devolucin seleccionada.
5. Realice los cambios requeridos.
6. Escoja la opcin de botn GUARDAR para
guardar los nuevos cambios.

El sistema FERRASIS valida la informacin ingresada y


Resultados Esperados
registra los cambios en la Base de datos.

Tabla 3. 6 Caso de Prueba: Modificar Devolucin de venta

No. Caso de prueba 7

Usuario Cajero

Nombre de Caso de Uso Eliminar Devolucin de Venta

Entradas S/N

Salidas S/N

El Cajero puede eliminar la devolucin de la base de datos del


Descripcin
sistema FERRASIS
106

1. Ingrese al men de ventas, gestionar crdito


2. Seleccione el crdito
Procedimiento de Prueba 3. Escoja la opcin de botn Eliminar.
4. Visualice el mensaje de eliminacin.
5. Escoja la opcin de botn Aceptar para confirmar
eliminacin.

El sistema FERRASIS elimina la devolucin en la base de


Resultados Esperados
datos.

Tabla 3. 7 Caso de Prueba: Eliminar devolucin de venta

No. Caso de prueba 8

Usuario Cajero

Nombre de Caso de Uso Consultar devolucin de venta

Entradas S/N

Salidas Datos de la devolucin

El Cajero puede buscar la devolucin de la base de datos del


Descripcin
sistema FERRASIS

1. Ingrese al men de Ventas, gestionar devolucin.


Procedimiento de Prueba 2. Ingrese los Criterios de Bsqueda de la devolucin.
3. Escoja la opcin de botn buscar para encontrar los datos.

Resultados Esperados El sistema FERRASIS busca el crdito en la base de datos.

Tabla 3. 8 Caso de Prueba: Consultar devolucin de venta

No. Caso de prueba 9

Usuario Cajero

Nombre de Caso de Uso Listar ventas

Entradas S/N

Salidas Resumen de ventas

El Cajero puede buscar las venta de una fecha especifica del


Descripcin
sistema FERRASIS
107

1. Ingrese al men de Ventas, listar ventas


Procedimiento de Prueba 2. Ingrese la fecha
3. Escoja la opcin de botn buscar para encontrar los datos.

Resultados Esperados El sistema FERRASIS busca las ventas en la base de datos.

Tabla 3. 9 Caso de Prueba: Listar ventas

No. Caso de prueba 10

Usuario Cajero

Nombre de Caso de Uso Registrar cliente

Razn social: Carpintera corrales


Ruc: 1716190267001
Nombre: Carlos Alfredo
Apellido: Analuisa Llumiquinga
Entradas Direccin: Sangolqui
Telfono: 02335399
Email: -
Fecha de ingreso: 2009-12-29
Observacin: -

Salidas s/n

Descripcin El Cajero registra una nuevo cliente

1. Ingrese a la opcin ventas, gestionar cliente


Procedimiento de Prueba 2. Ingrese los datos indicado en la entrada.
3. Escoja la opcin Guardar para guardar los datos.

El sistema FERRASIS valida la informacin ingresada y


Resultados Esperados
registra un nuevo cliente en la base de datos.

Tabla 3. 10 Caso de Prueba: Registrar Cliente


108

No. Caso de prueba 11

Usuario Cajero

Nombre de Caso de Uso Modificar Cliente

Entradas

Razn social: Carpintera corrales


Ruc: 1716190267001
Nombre: Carlos Alfredo
Apellido: Analuisa Llumiquinga
Salidas Direccin: Sangolqui
Telfono: 02335399
Email: -
Fecha de ingreso: 2009-12-29
Observacin: -

Descripcin El Cajero modifica los datos del cliente

1. Ingrese al men ventas, gestionar devolucin


2. Seleccione la devolucin a modificar.
3. Seleccione la opcin Modificar.
Procedimiento de Prueba 4. Visualice la informacin correspondiente al cliente
seleccionado.
5. Realice los cambios requeridos.
6. Escoja la opcin de botn GUARDAR para guardar
los nuevos cambios.
El sistema FERRASIS valida la informacin ingresada y
Resultados Esperados
registra los cambios en la Base de datos.

Tabla 3. 11 Caso de Prueba: Modificar Cliente

No. Caso de prueba 12

Usuario Cajero

Nombre de Caso de Uso Eliminar Cliente

Entradas S/N

Salidas S/N
109

El Cajero puede eliminar el cliente de la base de datos del


Descripcin
sistema FERRASIS

1. Ingrese al men de ventas, gestionar cliente


2. Seleccione el cliente
Procedimiento de Prueba 3. Escoja la opcin de botn Eliminar.
4. Visualice el mensaje de eliminacin.
5. Escoja la opcin de botn Aceptar para confirmar
eliminacin.

Resultados Esperados El sistema FERRASIS elimina el cliente de la base de datos.

Tabla 3. 12 Caso de Prueba: Eliminar cliente

No. Caso de prueba 13

Usuario Cajero

Nombre de Caso de Uso Consultar cliente

Entradas S/N

Salidas Lista de cliente

El Cajero buscar el cliente en la base de datos del sistema


Descripcin
FERRASIS

1. Ingrese al men de Ventas, gestionar cliente


Procedimiento de Prueba 2. Ingrese los Criterios de Bsqueda del cliente
3. Escoja la opcin de botn buscar para encontrar los datos.

Resultados Esperados El sistema FERRASIS busca el cliente en la base de datos.

Tabla 3. 13 Caso de Prueba: Consultar cliente


110

3.1.2. RESULTADOS OBTENIDOS EN LAS PRUEBAS


A continuacin se presenta el resultado de las pruebas a las cuales fue
sometido el sistema FERRASIS, estas pruebas reflejan el nivel de calidad del
sistema, y la aceptacin que tendr en un ambiente de produccin, las pruebas
han sido realizadas para el caso de estudio del CENTRO FERRETERO
RUMILOMA, con la ayuda de los empleados que conocen los procesos
tradicionales de facturacin.

Porcentaje
de
CRITERIOS DE EVALUACIN aceptacin
Documentos descritos sobre la funcionalidad del
sistema, manual de instalacin y manual de
Documentacin usuario. 100%
Base de datos Integridad de los datos 100%
Procesos de insercin, despliegue, borrado y
actualizacin de los datos 100%
Funcionalidad Informacin al usuario es correcta 100%
Eventos en las interfaces sean correctos 100%
Realizacin de facturas de ventas y compras 100%
Ingreso de clientes, empleados, productos 100%
Ingreso de crdito con sus respectivos pagos para
clientes y proveedores 100%
Impresin de reportes y facturas 100%
Interfaces de
usuario Navegacin y lgica de la navegacin 100%
Formato en las interfaces 100%
Accin adecuada al seleccionar opciones 100%
Desempeo del
sistema Tiempo de recuperacin en fallos del sistema 100%
Tiempo de respuesta a los usuarios 100%
Acceso al sistema 100%
Seguridad Modificacin de la informacin 100%
Integridad de la informacin en trabajo de red 100%

Tabla 3. 14 Resultado de las pruebas

Las pruebas han llevado a la conclusin de que el sistema FERRASIS cumple


con los requerimientos planteados en los casos de uso y reglas del negocio.
111

En las pruebas realizadas con la informacin almacenada y la informacin que


se ingreso al sistema no se encontr inconsistencias adems el control de los
datos de ingreso al sistema no permiten errores el momento de ingresar la
informacin.
Se realizaron tareas representativas como facturacin de ventas y compras,
crdito con sus respectivos pagos tanto para el cliente y proveedor, evaluando
as las acciones de los objetos en la interfaz sin presentar ambigedad en los
procesos.
La navegacin es intuitiva y en ninguno de los casos los empleados del
CENTRO FERRETERO RUMILOMA se perdi en la ubicacin lgica del
sistema, cabe resaltar la facilidad de uso y presentacin agradable a los
usuarios.
Los procesos se ejecutaron en tiempos prudenciales en una intranet.
El acceso al sistema solamente se lo puede realizar con el uso de los permisos
proporcionados al empleado, ninguno de los intentos de ingresar al sistema sin
la debida autorizacin tuvo xito y la informacin no pudo ser alterada por
ningn empleado.
Se realizo pruebas de recuperacin desde respaldos sin presentar
inconvenientes.
112

4. CONCLUSIONES Y RECOMENDACIONES
4.1. CONCLUSIONES
El propsito del presente proyecto es brindar apoyo al administrador de
la ferretera bajo el marco legal del SRI, garantizando la transparencia
en todas las actividades del sistema como es el generar el pago del
impuesto a travs del formulario 104A para personas naturales no
obligadas a llevar contabilidad y la emisin de las facturas.

El sistema desarrollado apoyara los procesos de facturacin y ayudara al


administrador de la ferretera a la oportuna toma de decisiones mediante
informes emitidos por el sistema sobre las ventas agrupadas por
categora o sub categora de productos que le permita una mejor toma
de decisiones sobre los productos que venden al igual que las compras
y gastos generados en un periodo de tiempo.

El sistema FERRASIS permite una fcil administracin remota al utilizar


un medio de comunicacin tan poderoso como lo es el Internet.

La elaboracin de las diferentes vistas del sistema junto con la utilizacin


de patrones de desarrollo como el modelo MVC, facilitaron las labores
de diseo e implementacin del mismo.

El sistema FERRASIS es una herramienta de software libre bajo licencia


lgpl lo que le permite reducir costos para su utilizacin en cualquier
actividad ferretera, el mismo que puede ser modificado de acuerdo a su
conveniencia siempre y cuando cumpla con los trminos de la licencia
lgpl.

El desarrollo de un sistema parametrizable los administradores de la


ferretera podrn hacer uso del mismo de acuerdo a sus necesidades.
113

La utilizacin del framework codeigniter evito el hecho de reinventar la


rueda al proporcionar los componentes bsicos(librerias) ya
desarrolladas permitiendo enfocarse en la lgica del negocio.

Las pruebas realizadas al Centro Ferretero Rumiloma como caso de


estudio permiti verificar el correcto funcionamiento del mismo,
comprobando la integridad de la informacin, la intuitiva navegabilidad
del sistema de acuerdo al perfil de cada tipo de usuario registrado al
sistema efectundose en un tiempo adecuado y cumpliendo con los
estndares de navegabilidad.
114

4.2. RECOMENDACIONES

Se recomienda la difusin del software libre, enfocando a proteger la


libertar del usuario y en beneficio de la comunidad.

Los datos generados del uso del sistema FERRASIS podr servir a
futuro en la toma de decisiones, se recomienda la elaboracin de un
datamart.

El presente proyecto se contempla en la creacin del formulario 104A


dirigidas a personas naturales no obligadas a llevar contabilidad, se
recomienda para una futura versin implementar la contabilidad.
115

BIBLIOGRAFA:
[1]
SRI, Sistema de rentas internas, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=163

[2]
SRI, Tipos de contribuyentes Personas naturales, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=434&codeContent=434

[3]
SRI, Tipos de contribuyentes Sociedades, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=463&codeContent=463

[4]
SRI, Tipos de contribuyentes Grandes contribuyentes, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=157&codeContent=157

[5]
SRI, Tipos de contribuyentes RISE, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=12465&codeContent=12465

[6]
SRI, Impuestos ,Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=122

[7]
SRI, Impuesto al valor agregado Iva, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=304#anchor7

[8]
SRI, Impuesto a la renta, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=150#anchor6

[9]
SRI, RUC, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=362&external=#anchor6

[10]
SRI, Facturas, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=47&external=#anchor13

[11]
SRI, Nota de venta, Junio 2008,
http://www.sri.gov.ec/sri/portal/main.do?code=77&external=
116

[12]
MONOGRAFIAS, Activos, Septiembre 2007,
http://www.monografias.com/trabajos51/activos-fijos/activos-fijos2.shtml

[13]
CHAGA GALVAN, Jos Alfonso, Clasificacin de los activos, Agosto 2006
http://www.mailxmail.com/curso-contabilidad/clasificacion-activo-pasivo

[14]
CHAGA GALVAN, Jos Alfonso, Clasificacin de los gastos, Septiembre
2007,
http://www.mailxmail.com/curso-contabilidad-practica-5-estado-ganancias-
perdidas/gastos-operacionales-administracion-gastos-personal

[15]
CRECERNEGOCIOS, Clasificacin de los gastos, Junio 2007,
http://www.crecenegocios.com/la-contabilidad-de-costos/

[16]
CRECERNEGOCIOS, Ratios financieros, Febrero 2008,
http://www.crecenegocios.com/ratios-financieros/

[17]
MONOGRAFIAS, Ratios financieros, Abril 2007,
http://www.monografias.com/trabajos28/ratios-financieros/ratios-
financieros.shtml
[18]
JACOBSON, Ivar; BOOCH, GRADY; RUMBAUGH, James. El proceso
unificado de desarrollo de software. Pearson Educacin, Madrid, 2000.

[19]
WIKIMEDIA FOUNDATION, Proceso Unificado, Abril 2008,
http://en.wikipedia.org/wiki/Unified_Process

[20]
CODEINGNITER, Caractersticas de codeingniter, Febrero 2009,
http://codeigniter.com

[21]
GPL, Licencia LGPL, Junio 2007,
http://www.gnu.org/licenses/lgpl-2.1.html

[22]
GPL, Licencia GPL, Junio 2007
117

http://www.gnu.org/licenses/gpl-2.0.html

[23]
WIKIMEDIA FOUNDATION , Comparacin entre licencias de software libre,
Febrero 2009, http://es.wikipedia.org/wiki/Licencias_de_software_libre
118

ANEXO: CONTENIDO DEL CD ADJUNTO


El CD adjunto contiene todo la documentacin del sistema, los archivos de
datos, instaladores y el cdigo fuente de los programas. A continuacin se
detalla la estructura del mismo.

Anexos
A: Diagramas de secuencia
B: Prototipo de Interfaz
C: Manual de Instalacin
D: Manual de Usuario

Tesis
Contiene el documento de la tesis.

Instaladores
Cdigo Fuente
Datos
Contiene los scripts de carga de datos de prueba del sistema.
Software Requerido
119

ANEXOS

También podría gustarte