20102078081
20102078115
FACULTAD TECNOLÓGICA
BOGOTÁ
2015
1
NOTA DE ACEPTACIÓN
_____________________________
_____________________________
_____________________________
_____________________________
JURADO
_____________________________
JURADO
_____________________________
TUTOR
2
TABLA DE CONTENIDO
RESUMEN ................................................................................................................................................ 10
1. INTRODUCCIÓN .............................................................................................................................. 12
2. DEFINICIÓN, PLANEACIÓN Y ORGANIZACIÓN ................................................................................. 13
2.1 TITULO DEL PROYECTO ............................................................................................................ 13
2.2 TEMA ....................................................................................................................................... 13
3. PLANTEAMIENTO DEL PROBLEMA .................................................................................................. 13
3.1 DESCRIPCIÓN ........................................................................................................................... 13
3.2 FORMULACIÓN ........................................................................................................................ 14
4. JUSTIFICACIÓN ................................................................................................................................ 15
5. OBJETIVOS ...................................................................................................................................... 16
5.1 OBJETIVO GENERAL ................................................................................................................. 16
5.2 OBJETIVOS ESPECÍFICOS .......................................................................................................... 16
6. ALCANCE Y DELIMITACIONES .......................................................................................................... 17
6.1 ALCANCE.................................................................................................................................. 17
A NIVEL FUNCIONAL ........................................................................................................................ 17
6.2 DELIMITACIONES ......................................................................................................................... 18
6.2.1 DELIMITACIÓN TEMPORAL .............................................................................................. 18
6.2.2 DELIMITACIÓN GEOGRÁFICA ........................................................................................... 18
6.2.3 DELIMITACIÓN TÉCNICA .................................................................................................. 18
7 FACTIBILIDAD .................................................................................................................................. 19
7.1 FACTIBILIDAD TÉCNICA ............................................................................................................ 19
7.2 FACTIBILIDAD OPERATIVA ....................................................................................................... 20
7.3 FACTIBILIDAD ECONÓMICA ..................................................................................................... 20
8 MARCO DE REFERENCIA .................................................................................................................. 22
8.1 MARCO TEÓRICO ..................................................................................................................... 22
8.2 MARCO CONCEPTUAL ............................................................................................................. 26
9 MARCO METODOLÓGICO ............................................................................................................... 34
RUP (RATIONAL UNIFED PROCESS) ..................................................................................................... 34
10 DESARROLLO DEL PROYECTO ......................................................................................................... 39
10.1 LEVANTAMIENTO DE REQUERIMIENTOS ................................................................................. 39
10.2 FASE DE MODELAMIENTO DE NEGOCIO .................................................................................. 45
10.3 ANÁLISIS Y DISEÑO .................................................................................................................. 45
10.3.1 DEFINICIÓN DE ACTORES ................................................................................................ 45
3
10.3.2 DIAGRAMAS DE CASOS DE USO ...................................................................................... 46
10.3.3 DIAGRAMA GENERAL DE CASOS DE USO ........................................................................ 46
10.3.4 DIAGRAMA DE MODIFICACIÓN DE INFORMACIÓN PERSONAL. ...................................... 47
10.3.5 DIAGRAMA SUBSISTEMA DE CONTROL DE USUARIOS .................................................... 48
10.3.6 DIAGRAMA SUBSISTEMA DE CONTROL DE CLIENTES...................................................... 49
10.3.7 DIAGRAMA SUBSISTEMA DE CONTROL DE PROVEEDORES ............................................. 50
10.3.8 DIAGRAMA SUBSISTEMA DE CONTROL DE INVENTARIOS .............................................. 51
10.3.9 DIAGRAMA SUBSISTEMA DE CONTROL DE GRÀFICAS.................................................... 52
10.3.10 DIAGRAMA SUBSISTEMA DE FACTURACIÓN ................................................................ 53
10.4 DIAGRAMA DE ACTIVIDADES ................................................................................................... 53
10.4.1 DIAGRAMA DE ACTIVIDADES CREACIÓN DE USUARIOS .................................................. 54
10.4.2 DIAGRAMA DE ACTIVIDADES CONSULTA DE USUARIOS .............................................. 55
10.4.3 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE USUARIOS .......................................... 56
10.4.4 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE USUARIOS ............................................. 57
10.4.5 DIAGRAMA DE ACTIVIDADES CREACIÓN DE PROVEEDORES ........................................... 58
10.4.6 DIAGRAMA DE ACTIVIDADES CONSULTA DE PROVEEDORES .......................................... 59
10.4.7 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE PROVEEDORES ................................... 60
10.4.8 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE PROVEEDORES ..................................... 61
10.4.9 DIAGRAMA DE ACTIVIDADES CREACIÓN DE CLIENTES.................................................... 62
10.4.10 DIAGRAMA DE ACTIVIDADES CONSULTA DE CLIENTES ................................................ 63
10.4.11 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE CLIENTES ........................................ 64
10.4.12 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE CLIENTES ........................................... 65
10.4.13 DIAGRAMA DE ACTIVIDADES CREACIÓN DE ARTÍCULOS ............................................. 66
10.4.14 DIAGRAMA DE ACTIVIDADES CONSULTA DE ARTÍCULOS ............................................. 67
10.4.15 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE ARTÍCULOS ..................................... 68
10.4.16 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE ARTÍCULOS ........................................ 69
10.4.17 DIAGRAMA DE ACTIVIDADES CREACIÓN DE FACTURAS ............................................... 70
10.4.18 DIAGRAMA DE ACTIVIDADES BÚSQUEDA DE FACTURAS ............................................. 71
10.4.19 DIAGRAMA DE ACTIVIDADES ANULACIÓN DE FACTURAS ............................................ 72
10.5 DIAGRAMAS DE ESTADO ......................................................................................................... 73
10.5.1 DIAGRAMA DE ESTADO DE INICIO DE SESIÓN ................................................................ 73
10.5.2 DIAGRAMA DE ESTADO DE INSERCIÓN DE USUARIOS .................................................... 73
10.5.3 DIAGRAMA DE ESTADO DE CONSULTA DE USUARIOS .................................................... 74
10.5.4 DIAGRAMA DE ESTADO DE MODIFICACIÓN DE USUARIOS ............................................. 74
10.5.5 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE USUARIOS ................................................ 75
10.5.6 DIAGRAMA DE ESTADO DE INSERCIÓN DE PROVEEDORES ............................................. 75
4
10.5.7 DIAGRAMA DE ESTADO DE CONSULTA DE PROVEEDORES ............................................. 76
10.5.8 DIAGRAMA DE ESTADO DE MODIFICACIÓN DE PROVEEDORES ...................................... 76
10.5.9 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE PROVEEDORES ......................................... 77
10.5.10 DIAGRAMA DE ESTADO DE INSERCIÓN DE CLIENTES ................................................... 77
10.5.11 DIAGRAMA DE ESTADO DE CONSULTA DE CLIENTES ................................................... 78
10.5.12 DIAGRAMA DE ESTADO DE MODIFICACIÓN DE CLIENTES ............................................ 78
10.5.13 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE CLIENTES .............................................. 79
10.5.15 DIAGRAMA DE ESTADO DE INSERCIÓN DE ARTÍCULOS ................................................ 79
10.5.16 DIAGRAMA DE ESTADO DE CONSULTA DE ARTÍCULOS ................................................ 80
10.5.17 DIAGRAMA DE ESTADO DE MODIFICACIÓN DE ARTÍCULOS ........................................ 80
10.5.18 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE ARTÍCULOS ........................................... 81
10.6 IMPLEMENTACIÓN DEL DISEÑO .............................................................................................. 82
10.6.1 MODELOS DE SECUENCIAS ............................................................................................. 82
10.6.2 MODELO DE SECUENCIA INICIAR SESIÓN ....................................................................... 82
10.6.3 MODELO DE SECUENCIA CREAR USUARIOS, CLIENTES, PROVEEDORES Y
VENDEDORES. ................................................................................................................................. 83
10.6.4 MODELO DE SECUENCIA CONSULTAR USUARIOS, CLIENTES, PROVEEDORES Y
VENDEDORES. ................................................................................................................................. 84
10.6.5 MODELO DE SECUENCIA MODIFICAR USUARIOS, CLIENTES, PROVEEDORES Y
VENDEDORES. ................................................................................................................................. 85
10.6.6 MODELO DE SECUENCIA ELIMINAR USUARIOS, CLIENTES, PROVEEDORES Y
VENDEDORES. ................................................................................................................................. 86
10.6.7 MODELO DE SECUENCIA CREAR FACTURA...................................................................... 87
10.6.8 MODELO DE SECUENCIA BUSCAR FACTURA ................................................................... 88
10.6.9 MODELO DE SECUENCIA ANULAR FACTURA ................................................................... 89
10.6.10 MODELO DE SECUENCIA GENERAR GRÁFICAS ............................................................. 90
10.7 DIAGRAMA DE CLASES............................................................................................................. 91
10.8 MODELO RELACIONAL ............................................................................................................. 92
10.9 TEST DE INTEGRACIÓN Y DESPLIEGUE DEL PRODUCTO ........................................................... 93
10.9.1 FASE DE PRUEBAS ........................................................................................................... 93
10.9.2 PRUEBAS FUNCIONALES ................................................................................................. 93
10.9.3 PRUEBAS DE INTEGRIDAD DE LA BASE DE DATOS Y LOS DATOS ................................... 95
10.9.4 PRUEBAS DE MONTAJE ................................................................................................... 96
10.9.5 PRUEBAS DE SEGURIDAD Y CONTROL DE ACCESO .......................................................... 97
10.10 DESPLIEGUE DE RESULTADO DE PRUEBAS ........................................................................... 97
10.10.1 PRUEBAS DE OPTIMIZACIÓN DEL TIEMPO. .................................................................. 97
10.10.2 PRUEBAS DE COMPATIBILIDAD NAVEGADORES. ......................................................... 98
5
CONCLUSIONES ..................................................................................................................................... 100
RECOMENDACIONES ............................................................................................................................. 101
BIBLIOGRAFÍA ....................................................................................................................................... 102
ANEXOS EN CD -ROM ............................................................................................................................ 105
6
TABLA DE ILUSTRACIONES
8
INDICE DE TABLAS
9
RESUMEN
10
ABSTRACT
The present project explains the design and implementation of an Information System
Web that can help to inventory management, customer, suppliers, sales and billing of
the company “Industria y solucionesmetalmecánicas Colombia S.A.S (ISMET)”. The
project´s functionality was developed under ISMET reengineered inner processes
definitions.
11
1. INTRODUCCIÓN
Para poder encontrar las necesidades que se tienen en cada uno de estos procesos,
fue de vital importancia comenzar con la primera fase de cualquier trabajo de
procesos, es decir con el levantamiento de la información; a través de entrevistas se
dio a conocer en detalle las tareas que se realizan, sus responsabilidades y labores
en el día a día para luego agruparlas dependiendo del proceso a sistematizar.
De esta manera se propone una posible solución para suplir necesidades en cada
área, como lo son seguimiento de modificaciones mediante la administración de roles
de usuario, gráficos estadísticos de ventas, consulta rápida online, control
sistematizado de factura, gestión optimizada en cada uno de los procesos estudiados.
12
2. DEFINICIÓN, PLANEACIÓN Y ORGANIZACIÓN
2.2 TEMA
Para el desarrollo del proyecto se debe tener en cuenta el tema de aplicaciones web,
para mejorar los procesos de gestión de la información en las áreas de clientes,
proveedores, inventarios, ventas y facturación, implementando herramientas de
programación como PHP, HTML, JAVASCRIPT, AJAX, CSS y como gestor de bases
de datos MySQL, además de la implementación del Framework YII que permite el
manejo de la arquitectura MVC (Modelo Vista Controlador).
3.1 DESCRIPCIÓN
La empresa Industria y soluciones metalmecánicas Colombia S.A.S (ISMET) es una
entidad dedicada a la prestación de servicios manufactureros, diseño, fabricación,
reconstrucción, mantenimiento y montaje de repuestos y equipos para la industria
colombiana.
3.2 FORMULACIÓN
14
4. JUSTIFICACIÓN
15
5. OBJETIVOS
16
6. ALCANCE Y DELIMITACIONES
6.1 ALCANCE
A NIVEL FUNCIONAL
MÓDULO DE INGRESO
El módulo de ingreso de usuarios será utilizado para controlar el acceso al sistema
de información y manejar permisos según el rol ingresado a su vez permite
conocer modificaciones realizado un usuario.
MÓDOLO DE FACTURACIÓN
El módulo de facturación permite la emisión de facturas de ventas de forma
interactiva, donde el usuario detallará todos los aspectos necesarios para la
creación, impresión y exportación a formato PDF de una factura de venta, también
es posible anular facturas posteriormente a su creación.
17
6.1.1.1.5 MÓDULO DE INFORMES ESTADÍSTICOS
El módulo de informes estadísticos permite generar reportes con la información
correspondiente a inventarios, usuarios, clientes y proveedores, informes de pagos
detallados por cliente en un rango de fechas y finalmente estadísticas de ventas,
costos y gastos.
6.2 DELIMITACIONES
PHP 5.5
APACHE 2.4.9
SGBD 5.6.20
INTERNET EXPLORER 10
WEB BROWSER GOOGLE CHROME 21.0
MOZILLA FIREFOX 14.0
OPERA 12.0
SAFARI 5.1.7
Tabla 1-Delimitación técnica.
18
7 FACTIBILIDAD
Las características esenciales de los dispositivos con los cuales se debe hacer uso de
nuestro sistema de información, deberán poseer la mayoría de las tecnologías
utilizadas dentro del desarrollo del sistema.
Características mínimas del computador, para que se pueda dar uso al sistema de
información:
Recursos Adicionales:
• Acceso a internet
1
http://www.alegsa.com.ar/Dic/factibilidad.php- enero 15 de 2015.
19
• Servidor web externo WAMP
• Impresora
RECURSOS HUMANOS
TIPO DESCRIPCIÓN VALOR- CANTIDAD TOTAL
HORA
Asesorías para la
Tutor: Gerardo realización del proyecto,
Alberto referente a la
Castang metodología a seguir y $30.000 40 $1.200.000
las herramientas con las
que se debe
trabajar
Programador1: Analista y desarrollador.
Jhonny Gaona $8.000 440 $3.360.000
Programador2: Analista y desarrollador.
Fabián Novoa $8.000 440 $3.360.000
Total Recursos
Humanos $7.920.000
Tabla 2-Recursos Humanos.
20
RECURSOS TÉCNICOS
RECURSOS DE SOFTWARE
Licencia PHP $0 1 $0
Licencia MYSQL $0 1 $0
Licencia XAMMP $0 1 $0
Licencia YII $0 1 $0
FRAMEWORK
Licencia
CSS3,HTML Y $0 1 $0
JQUERY
TOTAL
RECURSOS DE $ 130.000
SOFTWARE
21
PRESUPUESTO
RECURSO VALOR
8 MARCO DE REFERENCIA
SISTEMA DE INFORMACIÓN
S.I. (Sistema de Información) es un conjunto de elementos que interactúan entre sí
con el fin de apoyar las actividades de una empresa o negocio. Es la reunión
ordenada, y muchas veces sistematizada y en otras ocasiones automatizada, de
un conjunto de funciones y componentes interrelacionados como un todo o
conjunto universal, que obtiene, procesa, almacena y distribuye información para
apoyar la toma de decisiones y el control de una organización 2 .
2
Sistematización de información para historias clínicas odontológicas y generación de estadística, en Revista de
Tecnología. v.5, No. 2 (Julio-Diciembre 2006); pp. 81-82. Universidad El Bosque, Bogotá.[Consultado 30 septiembre 2014]3
Sistema de información-[Disponible en línea]- http://www.monografias.com/trabajos7/sisinf/sisinf.shtml [Consultado 30 de
septiembre 2014]
22
anterior. Esta información suele ser almacenada en estructuras de información
denominadas archivos.
FACTURA ELECTRÓNICA
• Expedida
• Entregada
• Aceptada
En Colombia, ahora en el 2012 se cuentan por miles las compañías que usan
facturación electrónica, y que vienen utilizándola desde hace varios años.
24
• Mejora el cash management financiero y operativo.
3
Factura electrónica: ¿Una nueva alternativa? [online]http://www.finanzaspersonales.com.co/trabajo-
yeducacion/articulo/facturacion-electronica-una-nueva-alternativa/48409 [Consultado 30 septiembre 2014].
4
Decreto 1929 de 2007 Factura electrónica [online]
http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=25311 [Consultado 30 septiembre 2014].
25
8.2 MARCO CONCEPTUAL
Para el desarrollo del proyecto fue necesario tener en cuenta los conceptos de los
siguientes términos:
PHP 5.3
PHP es el acrónimo de HipertextPreprocesor. Es un lenguaje de programación del
lado del servidor gratuito e independiente de plataforma, rápido, con una gran
librería de funciones y mucha documentación 5.
PHP es un producto de código abierto, lo que quiere decir que puede acceder a su
código, utilizarlo, modificarlo y redistribuirlo sin coste alguno.
Las siglas PHP equivalían inicialmente a Personal Home Page (Página de inicio
personal) pero se modificaron de acuerdo con la convención de designación de
GNU (del inglés, Gnu´sNot Unix, Gnu no es Unix) y ahora equivale a PHP
HipertextPreprocessor (Procesador de Hipertexto PHP) 6.
• Rendimiento, los scripts escritos en PHP se ejecutan más rápido que los
escritos en otros lenguajes de creación de scripts como JSP, ASP.NET y Perl.
5
Qué es PHP [online] http://www.desarrolloweb.com/articulos/392.php [Connsultado 30 septiembre 2014]
6
LukeWelling, Laura Thompson. Desarrollo web con PHP y MySQL. PHP. (2003) [Consultado 30 sept 2014]
26
• Portabilidad, está disponible para UNIX, Microsoft Windows, Mac OS, los
programas se pueden transportar de una plataforma a la otra, valioso cuando
se trabaja en ambientes corporativos de varias plataformas.
BASES DE DATOS
Las bases de datos, (BBDD) son estructuras en las que se almacena información
siguiendo unas pautas de disposición y ordenación para el posterior procesado de
los datos. Es una definición tan buena como cualquier otra. Seguramente, si usted
lee cincuenta libros al respecto, encuentre otras tantas definiciones distintas, pero
todas coincidirán en lo esencial. Como sistema de almacenamiento de datos, las
BBDD son por mucho más eficientes que los archivos de texto que conocemos. Y
esto por varias razones pero, principalmente, porque nos permiten un acceso
directo a los datos que necesitamos sin que sea preciso recorrer todo un fichero
para encontrarlo. Además, los modernos sistemas de gestión de BBDD
relacionales admiten el almacenamiento de muchos tipos de datos, no sólo texto
plano. Hablamos de BBDD relacionales cuando podemos establecer relaciones
entre las distintas informaciones que componen una base de datos. Por ejemplo,
suponga que usted quiere guardar la lista de clientes de una empresa de servicios.
Por otro lado, tiene una lista de los servicios que ofrece dicha entidad. Además
conserva una relación histórica de los servicios empleados por cada cliente. A
partir de ahí, mediante el uso de un Sistema De Gestión De Bases De Datos
7
Fundamentos de PHP – VikramVaswani -2010[Consultado 30 septiembre 2014].
27
Relacionales (RDBMS, Relation Data Base Management System) puede sacar
estadísticas u otro informes que le ayuden en la planificación u organización de su
trabajo diario.
Los motores de BBDD actuales (la parte que se encarga de gestionar la BBDD
fuera de la vista del usuario) están basados en el lenguaje SQL
(EstructuredQueryLanguage, Lenguaje estructurado de consulta) 8.
SQL
En los albores de la informática de gestión, allá por los tardíos 70 o primeros 80 del
pasado siglo, las aplicaciones comerciales que manejaban ficheros de datos tenían
sus propios formatos para almacenar y recuperar la información. Cada nuevo
programa que se desarrollaba, normalmente bajo demanda y a medida en aquellos
tiempos, grababa y recuperaba los datos en un formato específico, nativo de esa
aplicación o del lenguaje en el que había sido escrita. Esto presentaba varios
problemas. El usuario de un programa de, digamos, contabilidad que quisiera
migrar a otro necesitaba reconvertir todos los datos, en ocasiones, volviendo a
grabarlos. Además en una empresa mediana o grande (las únicas que, en aquellos
días, podían permitirse tener sistemas informáticos), los datos de almacén podían
no estar grabados en un formato compatible con los de facturación. Esto obligaba
a grabar los pedidos en los dos departamentos. Cuando la información se graba
por duplicado o triplicado en diferentes sistemas siempre pueden aparecer
diferencias. Además, es posible que unos datos se actualicen en un sistema pero
no en otro. Y, en muchas ocasiones, cuando había varias versiones de la misma
información circulando por distintos departamentos de una misma empresa, no se
sabía cuáles eran los datos más actualizados. Esto es lo que se llama
inconsistencia de la información.
Surgía la necesidad de tratar los archivos de datos de forma que todos presentarán
un formato coherente, y que cualquier aplicación pudiera acceder a las mismas
fuentes de información. El lenguaje SQL cubría estas necesidades.
Por una parte encapsulaba los datos, interponiéndose entre estos y la aplicación,
de modo que esta usaba instrucciones SQL y era él quien manejaba los datos. Así
8
José LopezQuijado. Domine PHP y MySQL, programación dinámica en el lado del servidor. Lenguaje SQL .(2008) :
339 [Consultado 12 de octubre del 2014].
28
pues, bastaba con que una aplicación implementase SQL para que pudiera
acceder a los datos de cualquier otra aplicación. Por otra parte, dado que está
orientado a la gestión básica de los datos, SQL tiene, relativamente, pocas
instrucciones, y es muy fácil de aprender y manejar con soltura. Aprendiendo SQL
se integra así con los lenguajes de programación modernos, supeditado a ellos.
Las instrucciones de SQL (llamadas genéricamente, consultas) se pueden
considerar divididas en dos grupos principales. Las estructurales, también
llamadas de definición de datos, o DLL y las de datos, también llamadas de
manipulación de datos o DML. Las primeras están destinadas a crear, modificar y
eliminar las BBDD y las estructuras de las tablas que la conforman así como los
índices. Las segundas se ocupan de incorporar nuevos registros a las tablas,
buscar determinados registros según los criterios necesarios, modificar los datos
grabados o eliminarlos, si procede9.
MYSQL
MySQL es un sistema para la administración de bases de datos relacional
(RDBMS) rápido y sólido. Las bases de datos permiten almacenar, buscar, ordenar
y recuperar datos de forma eficiente. El servidor de MySQL controla el acceso a
los datos para garantizar el uso simultáneo de varios usuarios, para proporcionar
acceso a dichos datos y para asegurarse de que sólo obtienen acceso a ellos los
usuarios con autorización. Por lo tanto MySQL es un servidor multiusuario y de
subprocesamiento múltiple. Ultiliza SQL (del inglés StructuredQueryLanguage,
lenguaje de consulta estructurado), el lenguaje estándar para la consulta de bases
de datos utilizado en todo el mundo. MySQL lleva disponible desde 1996 pero su
nacimiento se remonta a 1979. A obtenido el galardón ChiceAward del Linux
JournalReaders en varias ocasiones.
MySQL se distribuye bajo una licencia de código abierto en la actualidad, pero
también existen licencias comerciales 10.
9
Jacobo Pavon Puertas. Creación de un portal con PHP y MySQL. MySQL.(2011):15 [Consultado 12 de octubre del
2014].
10
Jacobo Pavon Puertas. Creación de un portal con PHP y MySQL. MySQL.(2011):15 [Consultado 12 de octubre del
2014].
29
MySQL es, por otro lado, la base de datos elegida por la gran mayoría de
programadores en PHP. Soporta el lenguajes SQL y la conexión de varios
usuarios, pero, en general, se utiliza para aplicaciones de tamaño pequeñomedio.
Al igual que PHP, su principal ventaja reside en que es una base de datos gratuita.
XAMPP SERVER
XamppServer es un entorno de desarrollo web para Windows en el cual se podrán
crear aplicaciones web con Apache, PHP y base de datos en MySQL (motor de
base de datos). Esta herramienta incluye además con un administrador de base de
datos PHPMyAdmin con el cual podremos crear una nueva base de datos e
ingresar la data de las tablas creadas en ella, realizar consultas y generar scripts
SQL, como exportar e importar scripts de base de datos. XAMPP ofrece a los
desarrolladores herramientas necesarias para realizar aplicaciones web de manera
local, con un sistema operativo (Windows), un manejador de base de datos
(MySQL), un software de programación script web PHP. XamppSever se
caracteriza por que puede ser usado de forma libre es decir no debemos de contar
con alguna licencia el cual nos permita el uso de la misma, ya que pertenece a la
corriente de "open source".
HTML5
HTML5 es un lenguaje markup (de hecho, las siglas de HTML significan Hyper
Text MarkupLanguage) usado para estructurar y presentar el contenido para la
web. Es uno de los aspectos fundamentales para el funcionamiento de los sitios,
pero no es el primero. Es de hecho la quinta revisión del estándar que fue creado
en 1990. A fines del año pasado, la W3C la recomendó para transformarse en el
estándar a ser usado en el desarrollo de proyectos venideros. Por así decirlo, qué
12
David Roldán Martínez, Pedro J. Valderas Aranda, Oscar Pastor Lopez. “Aplicaciones web, un enfoque práctico”.
Modelo- Vista- Controlador. (2010): 137-138 p [Consultado 12 de octubre 2014].
13
http://mantenimientosdeunapc.blogspot.com/2011/11/que-es-xampp-y-para-que-sirve.html [En inea
][Consultaoo 12 de octubre 2014]
31
es HTML5 está relacionado también con la entrada en decadencia del viejo
estándar HTML 4, que se combinaba con otros lenguajes para producir los sitios
que podemos ver hoy en día. Con HTML5, tenemos otras posibilidades para
explotar usando menos recursos. Con HTML5, también entra en desuso el formato
XHTML, dado que ya no sería necesaria su implementación.
CSS3
CSS (Cascading Style Sheets o CSS) es un lenguaje para definir el estilo o la
apariencia de las páginas web, escritas con HTML o de los documentos XML. CSS
se creó para separar el contenido de la forma, a la vez que permite a los
diseñadores mantener un control mucho más preciso sobre la apariencia de las
páginas, ofrecen la posibilidad de definir las reglas y estilos de representación
JAVASCRIPT
JavaScript es un lenguaje de programación que permite a los desarrolladores crear
acciones en sus páginas web, principalmente para crear páginas web dinámicas.
Una página web dinámica es aquella que incorpora efectos como texto que
aparece y desaparece, animaciones, acciones que se activan al pulsar botones y
ventanas con mensajes de aviso al usuario. No requiere de compilación ya que el
14
http://bitelia.com/2013/05/entendiendo-html5-guia-para-principiantes [En línea][Consultado 12 de octubre del
2014]
15
http://tc2-proyectodegradoingdesistemas.blogspot.com/2012/05/que-es-y-para-que-sirve-css3.html. [En
línea][Consultado el 12 de octubre del 2014].
32
lenguaje funciona del lado del cliente, los navegadores son los encargados de
interpretar estos códigos16.
Fue originalmente creado por la empresa Netscape para añadir interactividad a las
páginas web vistas con su navegador de internet. Actualmente JavaScript está
integrado en otras aplicaciones y otros navegadores de Internet, y es unos de los
lenguajes más utilizados en la red de redes para añadir interactividad a las páginas
web17.
JQUERY
JQuery es una biblioteca de JavaScript rápida y concisa que simplifica el recorrido
documento HTML, manejo de eventos, animación, y las interacciones Ajax para el
desarrollo web rápido. JQuery está diseñado para cambiar la forma en que
escribes JavaScript.
AJAX
Ajax, siglas de Asynchronous JavaScript and XML, es un término que describe un
nuevo acercamiento a usar un conjunto de tecnologías existentes juntas,
incluyendo las siguientes: HTML o XHTML, hojas de estilo (Cascading Style
Sheets o css), Javascript, el DOM (DocumentObjectModel), XML, XSLT, y el objeto
XMLHttpRequest. Cuando se combinan estas tecnologías en el modelo Ajax, las
aplicaciones funcionan mucho más rápido, ya que las interfaces de usuario se
pueden actualizar por partes sin tener que actualizar toda la página completa. Por
ejemplo, al rellenar un formulario de una página web, con Ajax se puede actualizar
la parte en la que se elige el país de residencia sin tener que actualizar todo el
formulario o toda la página web completa. AJAX permite mejorar completamente la
interacción del usuario con la aplicación, evitando las recargas constantes de la
página, ya que el intercambio de información con el servidor se produce en un
segundo plano. Las aplicaciones construidas con AJAX eliminan la recarga
constante de páginas mediante la creación de un elemento intermedio entre el
usuario y el servidor. La nueva capa intermedia de AJAX mejora la respuesta de la
16
http://librosweb.es/javascript/capitulo_1.html. [En línea][Consultado 12 de octubre de 2014].
17
José Manuel Alarcón. Programación en JavaScript. Introducción a JavaScript.(2000): 21 [Consultado 12 de
octubre del 2014].
33
aplicación, ya que el usuario nunca se encuentra con una ventana del navegador
vacía esperando la respuesta del servidor 18.
• Se admiten faltantes
• Los costos se mantienen constantes
• La reposición es instantánea (Esto quiere decir que un pedido llega tan pronto
se hace.)
• Los pedidos se mandan completos.
9 MARCO METODOLÓGICO
18
masadelante. ¿qué es ajax?. [ en línea] http://www.masadelante.com/faqs/ajax [consultado el 12 de octubre de
2014]
19
http://investigacionoperacionespao.blogspot.com/p/modelo-eoq-con-faltantes.html [en linea][consultado 12
de octubre 2014]
34
entrega de software e implementación de sistemas y para la gestión eficaz de
proyectos de software. Es uno de los muchos procesos contenidos dentro de la
RATIONAL PROCESS LIBRARY, que ofrece mejores directrices adecuadas para
el desarrollo en particular o las necesidades del proyecto 20.
20
ibm, portal web. 2013, disponible en internet: http://www.ibm.com/software/awdtools/rup/ [En
linea][Consultado 12 octubre 2014]
35
Disciplinas.
Las disciplinas conllevan los flujos de trabajo, los cuales son una secuencia de
pasos para la culminación de cada disciplina, estas disciplinas se dividen en dos
grupos: las primarias y las de apoyo. Las primarias son las necesarias para la
realización de un proyecto de Software, aunque para proyectos no muy grandes se
pueden omitir algunas; entre ellas se tienen: modelado del negocio,
requerimientos, análisis y diseño, implementación, pruebas, despliegue. Las de
apoyo son las que como su nombre lo indica, sirven de apoyo a las primarias y
especifican otras características en la realización de un proyecto de Software;
entre estas se tienen: entorno, gestión del proyecto, gestión de configuración y
cambios. A continuación se describe rápidamente cada una de estas disciplinas.
Requerimientos.
Esta disciplina tiene como objetivos establecer lo que el sistema debe hacer
(especificar requisitos), definir los límites del sistema, y una interfaz de usuario,
realizar una estimación del costo y tiempo de desarrollo. Utiliza el modelo de
Casos de Uso para modelar el sistema que comprenden los CU, actores y
relaciones, además utiliza los diagramas de estados de cada Casos de Uso y las
especificaciones suplementarias.
Análisis y diseño.
Esta disciplina define la arquitectura del sistema y tiene como objetivos trasladar
requisitos en especificaciones de implementación, al decir análisis se refiere a
transformar Casos de Uso en clases, y al decir diseño se refiere a refinar el
36
análisis para poder implementar los diagramas de clases de análisis de cada
Casos de Uso, los diagramas de colaboración de cada Casos de Uso, el de clases
de diseño de cada Casos de Uso, el de secuencia de diseño de Casos de Uso, el
de estados de las clases, el modelo de despliegue de la arquitectura.
Implementación.
Esta disciplina tiene como objetivos implementar las clases de diseño como
componentes (ej. Fichero fuente), asignar los componentes a los nodos, probar los
componentes individualmente, integrar los componentes en un sistema ejecutable
(enfoque incremental). Utiliza el modelo de implementación, conjuntamente los
diagramas de componentes para comprender cómo se organizan los componentes
y dependen unos de otros.
Pruebas.
Esta disciplina tiene como objetivos verificar la integración de los componentes
(prueba de integración), verificar que todos los requisitos han sido implementados
(pruebas del sistema), asegurar que los defectos detectados han sido resueltos
antes de la distribución.
Despliegue.
Esta disciplina tiene como objetivos asegurar que el producto está preparado para
el cliente, proceder a su entrega y recepción por el cliente. En esta disciplina se
realizan las actividades de probar el Software en su entorno final (prueba beta),
empaquetarlo, distribuirlo e instalarlo, así como la tarea de enseñar al usuario.
37
• Notificación limitada: al realizar alguna modificación, no se deja información
sobre lo que se hizo, por lo tanto no se sabe quién, cómo, y cuándo se
hizo.
Sin embargo, esta disciplina no intenta cubrir todos los aspectos de dirección del
proyecto. Por ejemplo, no cubre problemas como:
Entorno.
Esta disciplina se enfoca sobre las actividades necesarias para configurar el
proceso que engloba el desarrollo de un proyecto y describe las actividades
requeridas para el desarrollo de las pautas que apoyan un proyecto, su propósito
es proveer a la organización que desarrollará el Software, un ambiente en el cual
basarse, el cual provee procesos y herramientas para poder desarrollar el
software.
38
10 DESARROLLO DEL PROYECTO
Para identificar las necesidades del negocio y definir la estructura funcional del
software se realizaron una serie de entrevistas con el gerente, levantando los
requerimientos respectivos al aplicativo y dando lugar al cumplimiento del primer
objetivo planteado al principio de este documento y estableciendo de esta manera
la estructura lógica del sistema (diagrama de clases).
FORMATO DE ENTREVISTAS
Crear un módulo de insumos en el cual se puedan crear, eliminar y actualizar cada uno de los
productos que utiliza la empresa para fines de información y utilizarlos en las órdenes de
compra.
Justificación:
Este módulo permitirá a la empresa tener un buen orden en lo que concierna al listado de
productos que la empresa vende a sus clientes y maneja en el área de metalmecánica.
Control: ACEPTADO
Tabla 6-Entrevista 1.
39
N° Interno 002 Prioridad ALTA
Crear un módulo de proveedores en el cual se puedan ingresar nuevos como así mismo actualizar la
información de los ya existentes
Justificación:
Este módulo permitirá a la empresa tener un buen control sobre todas las empras o personas que
nos proveen de materiales para nuestro fin lucrativo de esta manera la información se obtendrá de
forma más precisa y rápida.
Tabla 7-Entrevista 2.
40
N° Interno 003 Prioridad ALTA
Crear un módulo de Usuarios con sus respectivos roles, es decir dependiendo de su cargo
puedan o no acceder a los diferentes procesos del aplicativo.
Justificación:
De esta manera cada usuario de nuestra empresa realizada sus distintas labores de forma
autosuficientes y controlada, realizando un proceso limpio y eficaz más que todo en el proceso
de realización de facturas.
Control: ACEPTADO
Tabla 8-Entrevista 3
41
N° Interno 004 Prioridad ALTA
Crear un módulo de facturación, el cual sea dinámico y se pueda agregar cada uno de los
insumos que posee la empresa con el fin de generar una orden de compra digital para
nuestros clientes y tener una copia de cada uno de las ventas que ha realizado la empresa.
Justificación:
Este módulo permitirá a la empresa tener un control eficaz de sus ventas, llevar la
contabilidad de manera ordenada y digital, en el momento de revisar una factura ya creada se
puede obtener de manera rápida sin ningún tipo de inconveniente.
Control: ACEPTADO
Tabla 9-Entrevista 4.
42
N° Interno 005 Prioridad ALTA
Crear un módulo de gráficos todos centrados sobre ventas en un rango de fechas , dividas por
usuarios con más ventas, insumos más vendidos, clientes que más compran, ventas por
periodo de tiempo
Justificación:
Este módulo permitirá visualizar de manera más rápida las ventas hechas por la empresa en
periodos de tiempo, de esta manera se pueden tomar decisión pensando en el futuro como
podría ser incentivos a nuestros clientes más fieles.
Control: ACEPTADO
Tabla 10-Entrevista 5.
43
N° Interno 006 Prioridad ALTA
Crear facturas digitales con el nit de la empresa y su logo, y con el detalle de la compra.
Justificación:
Para la empresa es realmente importante poder digitalizar su factura ya el control seríamás eficaz
y atacaríamos una de las solicitudes más pedidas por todos los clientes de ISMET.
Control: ACEPTADO
Tabla 11-Entrevista 6.
44
10.2 FASE DE MODELAMIENTO DE NEGOCIO
45
10.3.2 DIAGRAMAS DE CASOS DE USO
Anular Factura
Imprimir Factura
Crear Factura
Contador
Buscar Factura
Generar Informes
Gestionar Usuarios
Administrador
Secretaria
Actualizar Información
Personal
Gestionar Clientes
Gestionar
Proveedores
Vendedor
Gestionar Inventario
46
10.3.4 DIAGRAMA DE MODIFICACIÓN DE INFORMACIÓN PERSONAL.
uc Diagrama General
Actualizar Información
Personal
«include»
Iniciar Sesión
Administrador
«include»
Cerrar Sesión
47
10.3.5 DIAGRAMA SUBSISTEMA DE CONTROL DE USUARIOS
48
10.3.6 DIAGRAMA SUBSISTEMA DE CONTROL DE CLIENTES
49
10.3.7 DIAGRAMA SUBSISTEMA DE CONTROL DE PROVEEDORES
50
10.3.8 DIAGRAMA SUBSISTEMA DE CONTROL DE INVENTARIOS
51
10.3.9 DIAGRAMA SUBSISTEMA DE CONTROL DE GRÁFICAS
Tipos de informes:
Inventario.
Genera gráficas Seleccionar intervalo de Proveedores.
«include» Fechas Clientes.
Ventas
Administrador
«extend»
Seleccionar Tipo de
Visualiza gráfica
Gráfica «extend»
Contador Secretaria
52
10.3.10 DIAGRAMA SUBSISTEMA DE FACTURACIÓN
Creación de Usuarios
No
InicioDeActividad
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
No
¿Datos Correctos?
FinalDeActividad
54
10.4.2 DIAGRAMA DE ACTIVIDADES CONSULTA DE USUARIOS
Consulta de usuarios
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el usuario
No
No
Si
FinalDeActividad
55
10.4.3 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE USUARIOS
56
10.4.4 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE USUARIOS
Eliminación de usuarios
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el usuario
No
No
Si
¿Confirma
Eliminación?
Si
FinalDeActividad
57
10.4.5 DIAGRAMA DE ACTIVIDADES CREACIÓN DE PROVEEDORES
Creación de Proveedores
InicioDeActividad
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
No
¿Datos Correctos?
Si
FinalDeActividad
58
10.4.6 DIAGRAMA DE ACTIVIDADES CONSULTA DE PROVEEDORES
Consulta de Proveedores
InicioDeActividad
Busca el proveedor
Si No
¿El proveedor
existe?
Si
FinalDeActividad
59
10.4.7 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE PROVEEDORES
Modificación de Proveedores
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el proveedor
No
¿El proveedor
No existe?
Si
Ingresar nueva
Información del proveedor
¿Datos Correctos?
No
FinalDeActividad
60
10.4.8 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE PROVEEDORES
Eliminación de Proveedores
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el proveedor
No
Si
¿Confirma
Eliminación?
Si
FinalDeActividad
61
10.4.9 DIAGRAMA DE ACTIVIDADES CREACIÓN DE CLIENTES
Creación de Clientes
InicioDeActividad
No
¿Datos Correctos?
Si
FinalDeActividad
62
10.4.10 DIAGRAMA DE ACTIVIDADES CONSULTA DE CLIENTES
Consulta de clientes
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el cliente
No
No
Si
FinalDeActividad
63
10.4.11 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE CLIENTES
Modificación de clientes
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el cliente
No
No
Si
Ingresar nueva
Información del cliente
No
¿Datos Correctos?
Si
FinalDeActividad
64
10.4.12 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE CLIENTES
Eliminación de clientes
Busca el cliente
No
No
Si
No
¿Confirma
Eliminación?
Si
FinalDeActividad
65
10.4.13 DIAGRAMA DE ACTIVIDADES CREACIÓN DE ARTÍCULOS
Creación de Artículos
InicioDeActividad
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
No
¿Datos Correctos?
Si
FinalDeActividad
66
10.4.14 DIAGRAMA DE ACTIVIDADES CONSULTA DE ARTÍCULOS
Consulta de Artículos
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el artículo
No
No
¿El artículo
existe?
Si
artículo
FinalDeActividad
67
10.4.15 DIAGRAMA DE ACTIVIDADES MODIFICACIÓN DE ARTÍCULOS
Modificación de Artículos
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el artículo a
modificar
No
¿El proveedor
existe?
No
Si
Ingresar nueva
Información del artículo
¿Datos Correctos?
Si
FinalDeActividad
68
10.4.16 DIAGRAMA DE ACTIVIDADES ELIMINACIÓN DE ARTÍCULOS
Eliminación de Artículos
Si
Inicio de sesión ¿Datos Correctos? Carga interfaz de inicio
InicioDeActividad
Busca el artículo a
eliminar
No
¿El artículo
existe?
No
Si
Eliminar el artículo
¿Confirma
Eliminación?
Si
FinalDeActividad
69
10.4.17 DIAGRAMA DE ACTIVIDADES CREACIÓN DE FACTURAS
70
10.4.18 DIAGRAMA DE ACTIVIDADES BÚSQUEDA DE FACTURAS
Busqueda de facturas
NO Seleccionar cliente
NO
SI
Carga Información y
facturas del cliente
FinalDeActividad
71
10.4.19 DIAGRAMA DE ACTIVIDADES ANULACIÓN DE FACTURAS
72
10.5 DIAGRAMAS DE ESTADO
Estos diagramas permiten visualizar de una forma secuencial la ejecución de cada uno
de los procesos que intervienen en el sistema de información web para la gestión de
inventarios, clientes, proveedores, ventas y facturación de la empresa ISMET, en ellos
describimos gráficamente los eventos y los estados de los objetos que intervienen en
cada módulo.
stm Estado
El usuario No existe
El usuario
Final existe
Ingresa al sistema
Final
Datos
Datos incorrectos correctos
Valida usuario
Final Existe el usuario
Registra nuevo
usuario
Final
73
10.5.3 DIAGRAMA DE ESTADO DE CONSULTA DE USUARIOS
Inicial Final
[El usuario existe]
Muestra indormación
del usuario
Final
Inicial Final
[El usuario existe ]
Muestra información
del usuario
Modificar Usuario
[Confirma ] [Cancela ]
Usuario modificado
Final
74
10.5.5 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE USUARIOS
Inicial Final
[El usuario existe ]
Muestra información
del usuario
Eliminar Usuario
[ Cancela ]
[Confirma ]
Usuario eliminado
Final
[Diligencia formulario]
Carga formulario Inserta datos Valida datos
Inicial
[Datos correctos
]
[Datos incorrectos
]
[Existe el proveedor
]
Valida proveedor
Final
Registra nuevo
proveedor
Final
75
10.5.7 DIAGRAMA DE ESTADO DE CONSULTA DE PROVEEDORES
Final
Inicial [El proveedor existe]
Muestra información
del proveedor
Final
Inicial Final
[El proveedor existe ]
Muestra información
del proveedor
Modificar Proveedor
[ Confirma ] [Cancela ]
Proveedor modificado
Final
76
10.5.9 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE PROVEEDORES
Inicial Final
[el proveedor existe ]
Muestra información
del proveedor
Eliminar proveedor
[ Confirma ] [Cancela ]
Proveedor eliminado
Final
[Diligencia formulario]
Carga formulario Inserta datos Valida datos
Inicial
[Datos incorrectos
] [Datos correctos
]
[Existe el cliente]
Valida cliente
Final
Final
77
10.5.11 DIAGRAMA DE ESTADO DE CONSULTA DE CLIENTES
Inicial Final
[El cliente existe]
Muestra información
del cliente
Final
Inicial Final
[El cliente existe ]
Muestra información
del cliente
Modificar cliente
[Confirma ]
[Cancela ]
Cliente modificado
Final
78
10.5.13 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE CLIENTES
stm Eliminar Clientes
Inicial Final
[ el cliente existe ]
Muestra información
del cliente
Eliminar cliente
[ Confirma ] [Cancela ]
Cliente eliminado
Final
[Diligencia formulario]
Carga formulario Inserta datos Valida datos
Inicial
[Datos correctos
]
[Datos incorrectos
]
[Existe el artículo]
Valida artículo
Final
Registra nuevo
artículo
Final
79
10.5.16 DIAGRAMA DE ESTADO DE CONSULTA DE ARTÍCULOS
Inicial Final
[El artículo existe
]
Muestra información
del artículo
Final
Inicial Final
[El artículo existe]
Muestra información
del artículo
Modificar artículo
[Confirma]
[Cancela]
Artículo modificado
Final
80
10.5.18 DIAGRAMA DE ESTADO DE ELIMINACIÓN DE ARTÍCULOS
Inicial Final
[elatrículo existe]
Muestra información
del artículo
Eliminar artículo
[Cancela]
[Confirma]
Artículo eliminado
Final
81
10.6 IMPLEMENTACIÓN DEL DISEÑO
82
10.6.3 MODELO DE SECUENCIA CREAR USUARIOS, CLIENTES,
PROVEEDORES Y VENDEDORES.
83
10.6.4 MODELO DE SECUENCIA CONSULTAR USUARIOS, CLIENTES,
PROVEEDORES Y VENDEDORES.
84
10.6.5 MODELO DE SECUENCIA MODIFICAR USUARIOS, CLIENTES,
PROVEEDORES Y VENDEDORES.
85
10.6.6 MODELO DE SECUENCIA ELIMINAR USUARIOS, CLIENTES,
PROVEEDORES Y VENDEDORES.
86
10.6.7 MODELO DE SECUENCIA CREAR FACTURA
87
10.6.8 MODELO DE SECUENCIA BUSCAR FACTURA
88
10.6.9 MODELO DE SECUENCIA ANULAR FACTURA
89
10.6.10 MODELO DE SECUENCIA GENERAR GRÁFICAS
90
10.7 DIAGRAMA DE CLASES
Un diagrama de clases es un tipo de diagrama estático que describe la estructura de
un sistema mostrando sus clases, orientados a objetos y sus relaciones.21, de esta
manera se da cumplimiento a los objetivos relacionados con el desarrollo y creación
de los módulos que intervienen en el sistema de información web de ISMET.
class Sistema
Personas
- Apellido: String
- Cedula: String
- Direccion: String
- Email: int
- FechaNac: String
- Nit: String
- Nombre: String
- Telefono: int
Proveedores
+ ActualizarProveedor() : void
+ ConsultarProveedor(String) : String
+ CrearProveedor() : void Clientes Usuarios Session
+ EliminarProveedor() : void
+ GenerarInforme() : void + ActualizarCliente() : void - Clave: String
A + IniciarSession() : void
+ ConsultarCliente(String) : String - Rol: Int
+ TerminarSession() : void
+ CrearCliente() : void - Session: Object
+ EliminarCliente() : void - User: String
+ GenerarInforme() : void
Productos
Compras
- Cantidad: int Facturas
- Descripcion: String - Cantidad: int
- Id: int - Clientes: Object
- AnularFactura: int
- Iva: Float - ConsultarCompra: int - Estado: int
- Nombre: String - Descripcion: String
- FechaEmision: String
- Precio: Double - Factura: Object
- Id: int
- Proveedores: Object - Productos: Object
- Iva: Float
- Tipo: String - SubTotal: Double
- VTotal: Double
- Volumen: String - Usuarios: Object
- VTotal: Double
+ AnularFactura() : void
+ ActualizaProducto() : void - VUnitario: Double + BuscarFactura(Int) : void
+ ConsultarProducto(String) : String + GenerarInforme() : void
+ CrearProducto() : void + ConsultarCompra(Int) : String
+ EliminarProducto() : void + RealizarCompra() : void
+ GenerarInforme() : void
21
http://es.wikipedia.org/wiki/Diagrama_de_clases
91
10.8 MODELO RELACIONAL
El modelo relacional para la gestión de una base de datos es un modelo de datos
basado en la lógica de predicados y en la teoría de conjuntos. Es el modelo más
utilizado en la actualidad para modelar problemas reales y administrar datos
dinámicamente,22 de esta manera se crea el sistema estructural de la base de datos
de la empresa ISMET cumpliendo así con el objetivo específico planteado al principio
del documento basado en la información real de la empresa organizada en una base
de datos automatizada.
22
http://es.wikipedia.org/wiki/Modelo_relacional
92
10.9 TEST DE INTEGRACIÓN Y DESPLIEGUE DEL PRODUCTO
INTRODUCCIÓN
Propósito
El propósito de este Plan de Pruebas es recopilar toda la información necesaria para
planificar y controlar el esfuerzo de Pruebas de esta iteración. Este documento
describe una aproximación de las pruebas realizadas para la ejecución de este
proyecto.
93
N° Prueba Descripción Gravedad Acción
1 Inconveniente en el ALTA Se corrige
direccionamiento mediante una
de página al iniciar validación de
la sesión sesión de código
de servidor
direccionando las
páginas según el
usuario.
2 Inconveniente en la ALTA Se presenta por el
generación de pdf tiempo de
de la orden de renderización para
compra. pintar la orden de
compra, se utiliza
la función
settimeout de
jquery para
controlar los
tiempos.
3 Inconvenientes al ALTA Se crea un estado
eliminar un insumo para el insumo
ya utilizado en una (activo e inactivo)
compra Para evitar errores
de proceso en las
órdenes de
compra.
4 Inconvenientes a la MEDIA Se hace
hora de visualizar funcionalidad de la
gráficas librería jgraph de
estadísticas php para el control
visual de estas
gráficas
5 Espacio en blanco BAJA Se crea una hoja
en el footer de la de estilos
pagina independiente
(normalize.css)
para evitar diseño
basura.
6 Consultar sin filtro ALTA Se crea una
tanto en insumos validación en
como en clientes código cliente para
generaba error generar la lista de
toda la información
cuando no hay
filtro.
94
8 Cualquier usuario ALTA Se hace el control
podía visualizar por medio del
todo el menú de atributo class de
opciones. html y control por
javascript para
deshabilitar estas
opciones.
10 Al realizar una ALTA Se crean
factura el calculo validaciones por
total estaba medio de javascript
erróneo para evitar estos
inconvenientes.
95
N° Prueba Descripción Gravedad Acción
1 Inconveniente al ALTA Se expande la
guardar la capacidad del tipo
descripción del de dato de la
insumo descripción.
2 Las valores de las MEDIA Se utiliza la función
tablas aparecen sin FORMAT de la
formato base mysql
3 Inconvenientes al ALTA Se cambia el tipo
realizar una de dato a “date”
consulta por la
fecha
4 La consulta a las BAJA Se reduce el tiempo
tablas tomaban más de consulta creando
tiempo. índices para cada
uno de las tablas.
5 Inconveniente al ALTA En la consulta se
realizar consultas coloca alias a las
cruzadas tablas para que los
campos se
relacionen a sus
padres y no se
trunquen
Tabla 16-Pruebas Integrales.
96
10.9.5 PRUEBAS DE SEGURIDAD Y CONTROL DE ACCESO
# PROCESO TA TS %
1 INGRESAR UN INSUMO AL INVENTARIO 5 2 250
2 CONSULTAR INSUMOS 4 1 400
3 REALIZAR COMPRA-FACTURA 8 2 400
4 CONSULTAR VENTAS REALIZADAS 20 1 2000
5 CONSULTAR PROVEEDORES 5 2 250
6 INGRESAR CLIENTE 5 2 250
7 CONSULTAR CLIENTE 4 1 400
51 11 463
Tabla 21-Pruebas de Optimización
97
10.10.2 PRUEBAS DE COMPATIBILIDAD NAVEGADORES.
USUARIOS
1. Crear X X X X
2. Editar X X X X
3. Eliminar X X X X
4. Consultar X X X X
PROVEEDORES
1. Crear X X X X
2. Editar X X X X
3. Eliminar X X X X
4. Consultar X X X X
98
CLIENTES
1. Crear X X X X
2. Editar X X X X
3. Eliminar X X X X
4. Consultar X X X X
PRODUCTOS
1. Crear X X X X
2. Editar X X X X
3. Eliminar X X X X
4. Consultar X X X X
FACTURA
1. Crear X X X X
2. Anular X X X X
3. Consultar X X X X
4. Imprimir X X X X
EDICIÓN DE PERFIL
1. Actualizar X X X X
2. Filtrar X X X X
1. Iniciar X X X X
sesión
2. Cerrar X X X X
sesión
REPORTES
1. Consultar X X X X
Tabla 23-Pruebas de compatibilidad (Clientes-Productos-Facturas-Edición de perfil- Reportes –Inicio y cierre de
sesión).
99
CONCLUSIONES
Para el desarrollo de este proyecto fue de gran importancia aplicar temas vistos en los
cursos de Ingeniería de Software, base de datos y Seguridad informática, tales como;
descripción de casos de uso, diagramas de clase, diagramas de secuencia, diseño y
modelado de bases de datos, modelo entidad relación, modelo relacional de datos,
plan de pruebas, etc., donde muchos de estos conceptos aprendidos fueron
fundamentales para la correcta elaboración de este proyecto y el cumplimiento de
cada uno de los objetivos planteados .
El desarrollo de este proyecto, ayudo a eliminar una serie de problemas que se venían
presentando al interior de la Empresa ISMET, dicho de otra forma, al no realizarse
este proyecto la compañía continuaría con la descentralización de la información y por
consiguiente la pérdida de esta por diferentes eventualidades. Por otro lado, la
ineficiente gestión de la información se traducía en demoras respecto a la recepción,
producción y despacho de los insumos, con ello se seguirían afectando las relaciones
con sus clientes ya que estos encontrarían inconsistencias y atrasos en sus compras.
El desarrollo del sistema de información Web tuvo una expectativa positiva que se
expresó en la reducción de más del 50% de tiempo en la atención a los clientes y en la
generación de sus facturas, esto se hizo con la ayuda de la implantación de pruebas
realizadas con el módulo de facturación.
Por último se comprobó que el uso de una metodología de software como RUP,
garantiza de manera acertada el buen diseño y la construcción de cualquier proyecto
de software.
100
RECOMENDACIONES
101
BIBLIOGRAFÍA
GABÁS H. Cindy
HEURTER Oliver
103
POLO Macairo y Daniel VILLAFRANCA
http://www.inf-cr.uclm.es/www/mpolo/asig/0708/tutorJavaWeb.pdf
WEB Consultas
[4] http://php.net//manual/es/intro-whatis.php
[5] http://www.esepestudio.com/noticias/que-es-mysql
[6] http://bitelia.com/2013/05/entendiendo-html5-guia-para-principiantes
[7] http://tc2-proyectodegradoingdesistemas.blogspot.com/2012/05/que-es-y-para-
que-sirve-css3.html
[8] http://librosweb.es/javascript/capitulo_1.html
104
ANEXOS EN CD -ROM
Este anexo contiene la descripción de los casos de uso, donde muestra cual es el
flujo de eventos y que actores interactúan en cada uno de ellos. Se encuentra en
formato digital con el nombre “Anexo A Descripción de Casos de Uso” dentro de la
carpeta anexos.
105