Академический Документы
Профессиональный Документы
Культура Документы
REPORTE T CNICO
Agradecimientos
Agradezco a la empresa KN & Asociados Arquitectum S.A. de C.V., por haberme brindado el apoyo requerido y depositar en mi toda su confianza, durante la realizacin del Sistema de Control de Ventas, en especial quiero agradecerles; al L.C. Guillermo Moreno Castellanos y su esposa la Arq. Kenya Luz Nava Aguayo por tener la disposicin y amabilidad al atender mis peticiones, y al C.P. Jos Manuel Daz Snchez por ensearme todo lo necesario, para la realizacin del sistema y de muchas otras cosas, por su paciencia y su apoyo incondicional.
Tambin agradezco a mi familia, por su apoyo en ste y todos mis proyectos tanto personales, como laborales y escolares. Gracias por su comprensin y por su ayuda. A mi hermana Laura le agradezco todo lo que ha hecho por m, a mi hermana Raquel le agradezco su apoyo y fortaleza.
A ti mam est dedicado este simple pero complicado escrito, que no slo encierra conocimiento tcnico, pues es la pauta que anuncia el fin de un ciclo, que contiene en cada palabra escrita y no escrita el resumen de acontecimientos que tu conoces muy bien. Esto soy yo mam, el yo que despierta otra vez gracias a tu fortaleza. Te quiero mom.
NDICE
1 3 5 7 8 12 30 31 31 34 36 37 39 40 43 72 72 75 78 80 84 86 86 87 96 98
CAPTULO 1 ANLISIS
1.1 Recopilacin de informacin 1.2 Especificacin de requerimientos 1.2.1 Requisitos funcionales 1.2.2 Requisitos no funcionales 1.3 Restricciones del sistema 1.4 Caso de uso General 1.4.1 Detalles de caso de uso
CAPTULO 2 DISEO
2.1 Diagrama Entidad-Relacin 2.2 Diagrama de clases 2.3 Diagrama relacional 2.4 Diccionario de datos 2.5 Prototipos
3.5 Pruebas de caja blanca 3.6 Pruebas de caja negra 3.7 Pruebas de rendimiento 3.8 Pruebas de resolucin Conclusiones Listado de acrnimos Glosario de trminos Bibliografa
RESUMEN
KN & Asociados Arquitectum S.A. de C.V., es una empresa constructora de viviendas de inters social, que se caracteriza por ofrecer un producto, que cumple con los ms altos estndares de calidad en el mercado inmobiliario de Mxico. Con ms de 5 aos de historia, posee un fuerte portafolio de viviendas que da con da gana participacin en el mercado. Actualmente tiene su domicilio fiscal en Carretera Mxico-Pachuca kilmetro 53.5, Colonia Tepojaco, Tizayuca, Hidalgo C.P. 43810, telfono 779961686.
La empresa pretende tener un sistema que permita una mejor y ms eficiente recepcin de clientes, as como su posterior seguimiento y administracin por parte de los asesores de venta. Tambin requiere de la generacin de reportes basados en el comportamiento y tendencias de los clientes, que a su vez servirn de apoyo en la toma de decisiones a la gerencia general y a la gerencia de ventas, todo lo anterior con el fin de atender a la problemtica que presenta actualmente en su rea de ventas.
Por ello se propuso desarrollar un sistema basado en un entorno de aplicacin de escritorio, mediante el cual se pueda, registrar a los clientes que son recepcionados en el rea de ventas y determinar de manera precisa si el cliente pertenece o no a alguno de los asesores de la empresa, evitando con esto ambigedades entre los miembros del equipo de ventas. El sistema tambin deber permitir a los asesores de venta llevar un seguimiento puntual sobre sus clientes, emitiendo alertas para dicho propsito, y a su vez el asesor de ventas podr administrar de manera ptima tanto a sus clientes asignados mediante la recepcin en el punto de venta, como a clientes adquiridos mediante diversos medios. Derivado de lo anterior tanto la gerencia general y la gerencia de ventas podrn generar y visualizar reportes dentro del sistema, los cuales contendrn los indicadores de las tendencias y comportamientos de los clientes, y de cada uno de los asesores del equipo de ventas.
Las herramientas utilizadas durante la elaboracin del proyecto comprenden una computadora de escritorio con las siguientes caractersticas: Hardware: Procesador Pentium IV HT 3.2 GHz 2 GB de memoria DDR2 Disco duro SATA de 160 GB LCD Display
Software: Windows 7 Starter NetBeans 6.9.1 MySQL 5.5.8 Java JDK ver. 6 update 30
Durante la implementacin del sistema los resultados obtenidos fueron satisfactorios, el sistema cumple con los requerimientos establecidos por el cliente, y se ha convertido en una herramienta que gradualmente mejora el proceso de venta, aportando eficiencia y confianza entre los usuarios de la misma.
Despus de concluir el desarrollo del proyecto, se observ que las etapas que requirieron ms tiempo para su ejecucin fueron las de diseo e implementacin, derivado del tiempo que requiri el anlisis del sistema, la codificacin del mismo y la correccin de errores.
ABSTRACT
KN & Asociados Arquitectum S.A. de C.V., is a company building of affordable housing, which is characterized by offering a product that meets the highest standards of quality in the real estate market in Mexico. With over 5 years of history, it has a strong portfolio of properties that daily gains market share. Currently it has its registered office in Carretera Mexico-Pachuca 53.5 km, Tepojaco colony, Tizayuca, Hidalgo, Zip Code 43810 telephone 779961686.
The company pretends to have a system that allows a better and more efficient customer reception as well as its subsequent monitoring and management by the sales advisors. It also requires the generation of reports based on the behavior and customer trends, which in turn will support decision making in the general management and sales management, all the above in order to address the issues presented now in its sales area.
Therefore it was purposed to develop a system based in a desktop application, through which it can register customers who are received in the area of sales and determine accurately whether or not the client belongs to one of the advisers the company, avoiding ambiguities among the sales team members. The system must also allow to sales consultants to give track timely information about their customers, issuing alerts for this purpose, and in turn the sales consultant can manage so best for both his customers by receiving allocated at point of sale, as the customers acquired through various means. Due to the above mentioned, both the general management and the sales management may generate and view reports within the system, which will contain indicators of the trends and customer behaviors, and of each one of the advisers of the sales team.
The tools used during the development of the project include a desktop computer with the following characteristics: Hardware: Pentium IV HT Processor to 3.2 GHz Memory DDR2 2 GB Hard drive SATA to 160 GB LCD Display
Software: Windows 7 Starter NetBeans 6.9.1 MySQL 5.5.8 Java JDK ver. 6 update 30
During the system implementation, the results obtained were satisfactory, the system meets the requirements established by the client, and it has become a tool that is gradually improving the sales process, providing efficiency and confidence among the users of it.
After completing the project, it was observed that the steps required more time for its implementation were the design and implementation; derived from the time that the system analysis required, coding the same one and the correction of errors.
INTRODUCCIN
KN & Asociados Arquitectum S.A. de C.V., es una empresa constructora de viviendas de inters social, que se caracteriza por ofrecer un producto, que cumple con los ms altos estndares de calidad en el mercado inmobiliario de Mxico. Con ms de 5 aos de historia, posee un fuerte portafolio de viviendas que da con da gana participacin en el mercado. Actualmente tiene su domicilio fiscal en Carretera Mxico-Pachuca Kilmetro 53.5, Colonia Tepojaco, Tizayuca, Hidalgo C.P. 43810, telfono 779961686.
Los Sistemas de Informacin y las Tecnologas de Informacin han cambiado la forma en que operan las organizaciones actuales. A travs de su uso se logran importantes mejoras, pues automatizan los procesos operativos, suministran una plataforma de informacin necesaria para la toma de decisiones y, lo ms importante, su implantacin logra ventajas competitivas o reducir la ventaja de los rivales. Con el fin de mejorar la productividad y el rendimiento de una organizacin competitiva, es fundamental evaluar las tcnicas actuales y la tecnologa disponible para desarrollar sistemas que brinden eficiencia y eficacia de la gestin de la informacin relevante.
Derivado de lo anterior, el desarrollo del Sistema de Control de Ventas facilitar a la empresa KN & Asociados Arquitectum S.A. de C.V., tener un sistema que permita una mejor y ms eficiente recepcin de clientes, as como su posterior seguimiento y administracin por parte de los asesores de venta, con lo cual mejorar su calidad en el servicio y atencin de sus clientes, y brindar a sus asesores un manejo transparente y eficiente de la informacin de sus prospectos, dando como resultado una mejora gradual en los procesos de venta.
Este reporte se divide en 3 captulos, de los cuales el capitulo 1 habla acerca del anlisis del sistema, tomando como punto de partida la recopilacin de informacin, que se obtuvo a travs de una entrevista realizada con la gerencia general y la gerencia de ventas, donde se establecieron los requisitos funcionales y no funcionales del sistema y se delimitaron los alcances del mismo.
En el captulo 2 se habla acerca del diseo del sistema el cual comprende, la realizacin de los diversos diagramas UML, los cuales se basan en la toma de requerimientos, tambin se muestran los casos de uso tanto general como detallado del sistema, que modelaran los procesos o actividades con los que interacta el sistema. As como tambin el diseo de los prototipos a utilizar y el diccionario de datos que describe el tipo de campo, extensin, caractersticas y observaciones de la base de datos.
El capitulo 3, trata del diseo, la implementacin y las pruebas del sistema, en este capitulo se muestra parte de la codificacin y pantallas, producto del desarrollo de las interfaces principal y secundarias del sistema, as como tambin se muestran los resultados obtenidos durante la implementacin de las pruebas de cada blanca y caja negra. Finalmente, se presentan los resultados derivados de la implementacin del sistema, los cuales se obtuvieron al realizar pruebas de resolucin y rendimiento al mismo.
Objetivos especficos
Almacenar en una base de datos la informacin de los clientes. Permitir el control de clientes. Permitir la administracin de clientes por parte de los asesores. Mostrar indicadores del proceso de venta. Generar documentacin de venta. Administrar funciones especficas del sistema.
UNIVERSIDAD TECNOLGICA DE TECMAC DIVISIN DE INFORMTICA PROGRAMA DE ESTADAS PROFESIONALES PROGRAMA DE TRABAJO
FECHA: 16 Enero 2012
Comunicacin, rea Sistemas Informticos MATRCULA: GENERACIN: 2510360003 Mayo 2010 - Abril 2012 / 39
ASESOR ACADMICO
NOMBRE: CARGO: Lic. Irene Len Islas Profesor de tiempo completo Asociado C
DATOS DE LA EMPRESA
EMPRESA: KN & Asociados Arquitectum S.A. de C.V. DEPARTAMENTO: Sistemas REA: DIRECCIN: Ventas Carretera Mxico-Pachuca Kilmetro 53.5, Colonia Tepojaco, Tizayuca, Hidalgo C.P. 43810 TELFONO: FAX: E-MAIL: 779961686
ASESOR INDUSTRIAL
NOMBRE: L.C. Guillermo Moreno Castellanos CARGO: Gerente General
PERODO
DURACIN: FECHA DE INICIO: 15 semanas 16 Enero 2012
PROYECTO
NOMBRE: Sistema de Control de Ventas DESCRIPCIN: Este proyecto consiste en la creacin de un sistema de control para la empresa constructora e inmobiliaria KN & Asociados Arquitectum S.A. de C.V., que traer como resultado una mejora en el proceso de recepcin, seguimiento y venta a clientes. OBJETIVO GENERAL: Se realizar un Sistema de Control de Ventas, mediante el cual se llevar el control, la administracin y generacin de indicadores para el anlisis del proceso de venta, por parte de los asesores de ventas y la gerencia de la empresa. OBJETIVOS ESPECFICOS: ALCANCES: Almacenar en una base de datos la informacin de los clientes. Permitir el control de clientes. Permitir la administracin de clientes por parte de los asesores. Mostrar indicadores del proceso de venta. Generar documentacin de venta. Administrar funciones especficas del sistema.
El sistema controlar la recepcin de clientes, permitir a cada asesor de ventas dar seguimiento y administrar sus clientes. Tambin generar documentacin de venta e indicadores del proceso de venta para la gerencia de la empresa y a la vez admitir la administracin de algunas funciones especficas del sistema.
METAS:
Generar un control adecuado en la recepcin y administracin de clientes. Generar indicadores que ayuden a la mejora del proceso de venta.
RECURSOS:
Hardware: Procesador Pentium IV HT 3.2 GHz 2 GB de memoria DDR2 Disco duro SATA de 160 GB LCD Display
Software: Windows 7 Starter NetBeans 6.9.1 MySQL 5.5.8 Java JDK ver. 6 update 30
PLAN DE TRABAJO
ACTIVIDAD
DESCRIPCIN Anlisis
1 1.1 1.2
1.2.1 Requisitos funcionales 1.2.2 Requisitos no funcionales 1.3 1.4 Restricciones del sistema Caso de uso General
1.4.1 Detalles de casos de uso 2 2.1 2.2 2.3 2.4 2.5 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Diseo Diagrama Entidad-Relacin Diagrama de clases Diagrama relacional Diccionario de datos Prototipos Desarrollo, Implementacin y Pruebas Estandarizacin Desarrollo de la interfaz principal Desarrollo de las interfaces secundarias Desarrollo de la base de datos Pruebas de caja blanca Pruebas de caja negra Pruebas de rendimiento Pruebas de resolucin 6 15 20/02/12 27/04/12 2 5 23/01/12 17/02/12
10
Enero
2 3 4
Febrero
5 6 7 8
Marzo
9 10 11 12
Abril
13 14 15
1 Anlisis
PROG. REAL
FIRMAS
11
MARCO TERICO
Para el desarrollo e implantacin del Sistema de Control de Ventas, ser necesario el uso de varias herramientas tales como; aplicaciones de software, las cuales brindarn el soporte necesario tanto para el diseo como codificacin y pruebas del sistema, y el uso de un sistema operativo sobre el cual se desarrollar e implementar el sistema. A continuacin se detallan las caractersticas, ventajas y desventajas y ejemplos de uso de cada una de estas herramientas.
Windows 7 incluye varias caractersticas nuevas, como mejoras en el reconocimiento de escritura a mano, soporte para discos duros virtuales, rendimiento mejorado en procesadores multincleo, mejor rendimiento de arranque, DirectAccess, y mejoras en el ncleo. Windows 7 aade soporte para sistemas que utilizan mltiples tarjetas grficas de proveedores distintos (heterogeneous multi-adapter o multi-GPU), una nueva versin de Windows Media Center y un gadget para l, y aplicaciones como Paint, Wordpad y la calculadora rediseadas. Se aadieron varios elementos al Panel de control, como un asistente para calibrar el color de la pantalla, un calibrador de texto ClearType, solucin de problemas, ubicacin y otros sensores, administrador de credenciales, iconos en el rea de notificacin, entre otros.
12
Existen seis ediciones de Windows 7, construidas una sobre otra de manera incremental, aunque solamente se centrarn en comercializar dos de ellas para el comn de los usuarios: las ediciones Home Premium y Professional. A estas dos, se suman las versiones Starter, Home Basic y Ultimate, adems de la versin Enterprise, que est destinada a grupos empresariales que cuenten con licenciamiento Open o Select de Microsoft.
Ventajas
El Windows 7 tiene una velocidad de arranque muy mejorada. Lo hace el doble ms rpido que sus versiones anteriores. Las ediciones de Home Basic, Ultimate, Home Premium y Professional pueden utilizarse en equipos con arquitectura de 32 bits y 64 bits. Mediante algunas aplicaciones software (como Eyefinity), permite trabajar con varios monitores conectados de una manera muy eficiente. Cuenta con DirectX 11, lo que mejora la reproduccin multimedia, mejora los detalles grficos. El entorno grfico del Windows 7, dispone de ventanas inteligentes. Desaparecen las ventanas de advertencia y los problemas de compatibilidad, como ocurra en el caso de Windows Vista. La aplicacin DirectCompute mejora la capacidad de procesamiento paralelo de las unidades de procesamiento de grficos, lo que aumenta la velocidad a la hora de procesar datos. Mantiene la compatibilidad con todos los programas que utilizan Windows XP. Ocupa menos memoria, tanto su kernel como el sistema operativo en s. Ahorra energa pues no requiere de tanto soporte de hardware o integracin de tantos componentes.
13
Desventajas
Su precio, dependiendo de la versin, es bastante elevado. No existe actualizacin de Windows XP a Windows 7. Presenta varias fallas de seguridad (bugs) que son explotados por usuarios mal intencionados. Las constantes actualizaciones consumen recursos haciendo que el sistema se vuelva cada vez ms lento. Representa riesgos de seguridad para la privacidad de los usuarios, ya que existen mtodos probados para violar la seguridad del sistema, por usuarios sin conocimientos avanzados de computacin.
Ejemplo de uso
1.- Para realizar el desfragmentado del HDD, se va al men Inicio y se expande la carpeta Accesorios, luego la carpeta Herramientas del sistema y se elige la opcin Desfragmentador de disco, como se muestra en la figura 1.
14
2.- El sistema despliega la pantalla principal de la aplicacin Desfragmentador de disco, como se muestra en la figura 2.
3.- Se elige la unidad de disco se desea desfragmentar en el cuadro Estado actual, como se muestra en la figura 3.
15
4.- Se hace clic en el botn Desfragmentar disco, para comenzar la desfragmentacin, como se muestra en la figura 4.
NetBeans 6.9.1
NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programacin Java. Existe adems un nmero importante de mdulos para extenderlo. NetBeans IDE es un producto libre y gratuito sin restricciones de uso, es un proyecto de cdigo abierto de gran xito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fund el proyecto de cdigo abierto NetBeans en junio de 2000 y contina siendo el patrocinador principal de los proyectos.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados mdulos. Un mdulo es un archivo Java que contiene clases de Java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como mdulo. Las aplicaciones construidas a partir de mdulos pueden ser extendidas agregndole nuevos mdulos. Debido a que los mdulos pueden ser desarrollados independientemente, las
16
aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fcilmente por otros desarrolladores de software.
Ventajas
Mayor rapidez en la compilacin de programas, a comparacin con otros IDEs. Manejo exacto de errores. Netbeans es libre. Integra una gran biblioteca de mdulos para el desarrollo de diversos tipos de aplicaciones tanto web como de escritorio. Es multiplataforma. Permite la adicin de plugins propios y de terceros. Permite una mayor usabilidad al poseer un gran abanico de herramientas para desarrollo. Incluye un depurador y selector de vistas que permite navegar entre las lneas de cdigo de un programa. Permite cambiar entre modelos JTree y modelos JList sin escribir una sola lnea de cdigo.
Desventajas
Consume recursos excesivos del sistema. El tiempo de respuesta en la ejecucin y compilacin de aplicaciones es muy elevado, bajo ciertas circunstancias. Los programadores de frameworks de terceros se inclinan por hacer plugins para Eclipse en lugar de hacerlos para NetBeans. Bajo algunas circunstancias no hace el deploy de archivos EAR, EJB.
17
Ejemplo de uso
1.- Para crear una interfaz de usuario, en el men Archivo, se elige la opcin Proyecto Nuevo, como se muestra en la figura 5.
18
2.- En la ventana Proyecto Nuevo se elige la opcin Java y despus el tipo de proyecto JavaApplication, como se muestra en la figura 6.
3.- El archivo creado se llamar main.java, ahora se agrega un formulario JFrame de nombre NewJFame.java, como se muestra en la figura 7, sobre el cual se disea un formulario de registro, como se muestra en la figura 8.
19
Figura 8 Diseo del formulario de registro haciendo del uso del lenguaje de programacin Java
4.- Presentacin del formulario de registro en un entorno de escritorio ejecutndose sobre el sistema operativo Windows 7, como se muestra en la figura 9.
20
MySQL 5.5.8
Es un sistema de gestin de bases de datos relacional, creado por la empresa sueca MySQL AB, la cual tiene el copyright del cdigo fuente del servidor SQL, as como tambin de la marca.
MySQL es un software de cdigo abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye una versin comercial. En lo nico que se diferencia de la versin libre, es en el soporte tcnico que se ofrece, y la posibilidad de integrar este gestor en un software propietario, ya que de otra manera, se vulnerara la licencia GPL.
MySQL fue escrito en C y C++ y destaca por su gran adaptacin a diferentes entornos de desarrollo, permitiendo su interactuacin con los lenguajes de programacin ms utilizados como PHP, Perl y Java y su integracin en distintos sistemas operativos. MySQL es un servidor multi-usuarios muy rpido y robusto de ejecucin de instrucciones en paralelo, es decir, que mltiples usuarios distribuidos a lo largo de una red local o Internet podr ejecutar distintas tareas sobre las bases de datos localizadas en un mismo servidor.
Ventajas
Mayor velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento. Bajo costo en requerimientos para la elaboracin de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una mquina con escasos recursos sin ningn problema. Facilidad de configuracin e instalacin. Soporta gran variedad de Sistemas Operativos. Baja probabilidad de corromper datos, incluso si los errores no se producen en el propio gestor, sino en el sistema en el que est.
21
Conectividad y seguridad. Registros sin lmite de tamao. Soporta arquitecturas x86 y x64.
Desventajas
Un gran porcentaje de las utilidades de MySQL no estn documentadas. No es intuitivo, como otros programas (Access). No sincroniza los datos con otras bases de datos rplicas. No permite el modo de autenticacin local (seguridad integrada de Windows), slo el modo estndar.
Ejemplo de uso
1.- Para crear una base de datos, del men Inicio de Windows se elige la aplicacin WampServer, como se muestra en la figura 10.
22
2.- En la barra de tareas se elige el icono de WampServer, se hace clic con el botn izquierdo del mouse sobre l y se desplegar el men contextual, despus se elige la opcin MySQL, como se muestra en la figura 11.
3.- En la ventana principal de MySQL se muestra la lnea de comandos, desde donde se ingresan las sentencias para crear una base de datos, como se muestra en la figura 12.
Figura 12 Lnea de comandos de MySQL y las sentencias para la creacin de una base de datos
4.- En la lnea de comandos se ingresan las sentencias para crear las tablas de la base de datos, como se muestra en la figura 13.
23
5.- En la lnea de comandos se introducen las sentencias para insertar registros en las tablas de la base de datos, como se muestra en la figura 14.
y applets de Java.
Java es un lenguaje de programacin orientado a objetos, el lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros o memoria.
24
Las aplicaciones
Java estn
tpicamente compiladas en
un bytecode,
aunque
la
compilacin en cdigo mquina nativo tambin es posible. En el tiempo de ejecucin, el bytecode es normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque la ejecucin directa por hardware del bytecode por un procesador Java tambin es posible.
Ventajas
Aplicaciones se ejecutan ms rpidamente en escritorios y servidores. Nuevos diagnsticos Dynamic Attach facilitan la deteccin de problemas. Expandido soporte DTrace que es un valor aadido en Solaris
Look original mejorado en Solaris, Linux y Windows. Es la primera plataforma Java con soporte completo para Windows. El JDK es una herramienta libre de licencias (sin costo), creada por Sun. Est respaldado por un gran nmero de proveedores. Sun saca al mercado cada 6 meses una nueva versin del JDK. Es independiente de la plataforma de desarrollo. Existen dentro de su librera clases grficas como awt y swing, las cuales permiten crear objetos grficos comunes altamente configurables y con una arquitectura independiente de la plataforma. El manejo de las bases de datos es uniforme, es decir transparente y simple. Contiene herramientas con asistentes para facilitar la escritura de cdigo. Incluye CVS (control de versiones) y Ant (compilacin avanzada). Editor de cdigo sensible al contenido. Posibilidad de utilizar otras versiones de compiladores y depuradores.
Desventajas
Hay diferentes tipos de soporte tcnico para la misma herramienta, por lo que el anlisis de la mejor opcin se dificulta.
25
Para manejo a bajo nivel deben usarse mtodos nativos, lo que limita la portabilidad. El diseo de interfaces grficas con awt y swing no es simple. Existen herramientas como el JBuilder que permiten generar interfaces grficas de manera sencilla, pero tienen un costo adicional. Puede ser que no haya JDBC para bases de datos poco comerciales.
Ejemplo de uso
1.- Para crear una aplicacin programada en lenguaje Java se hace uso del IDE NetBeans, en el men Archivo se elige la opcin Proyecto Nuevo, como se muestra en la figura 15.
26
2.- En la ventana Proyecto Nuevo se elige la opcin Java y despus el tipo de proyecto JavaApplication, como se muestra en la figura 16.
27
3.- En el rea de trabajo del IDE NetBeans se realiza la codificacin de una aplicacin que calcular el nmero mximo de entre tres nmeros dados por el usuario, haciendo uso del lenguaje de programacin Java, como se muestra en la figura 17.
Figura 17 Codificacin en Java del programa que calcula el nmero mximo de entre tres nmeros dados
28
4.- Vista principal del programa que calcula el nmero mximo de entre tres nmeros, en un entorno de consola, se muestra en la figura 18.
Figura 18 Resultado de la ejecucin del programa que calcula el mximo nmero de entre tres nmeros
29
METODOLOGA
Para la realizacin del Sistema de Control de Ventas, en primera instancia, se recopil la informacin sobre la problemtica que presentaba la empresa, mediante una entrevista realizada a la gerencia general y la gerencia de ventas. Derivado del anlisis de la informacin obtenida, se realiz una propuesta de solucin para resolver las reas de oportunidad del departamento de ventas.
Siguiendo los requerimientos y restricciones planteados, durante la propuesta de solucin, se realiz el diseo de los prototipos del sistema, enfocados a resolver la problemtica planteada por la gerencia.
Durante la implementacin del sistema, se efectuaron distintos tipos de pruebas. Realizadas en un entorno de produccin en el rea de ventas, con la colaboracin de los asesores de venta, quienes fungieron como testers del sistema.
30
KN & Asociados Arquitectum S.A. de C.V. cuenta con un gran equipo administrativo y ejecutivo, el cual brinda a clientes y socios una atencin personalizada y de calidad, siempre actuando con sentido de urgencia y conducindose de manera integra dentro de sus diversas reas de accin.
Misin
Otorgar a sus clientes una nueva y mejor forma de vivir, construyendo desarrollos inmobiliarios de excelente calidad.
Visin
Desarrollar proyectos vanguardistas e innovadores para el ptimo crecimiento y proyeccin de las comunidades.
31
KN & Asociados Arquitectum S.A. de C.V. tiene su domicilio fiscal en Carretera MxicoPachuca Kilmetro 53.5, Colonia Tepojaco, Tizayuca, Hidalgo C.P. 43810, telfono 779961686 figura 1.1.
Para la toma de requerimientos, se realiz una entrevista al gerente general L.C. Guillermo Moreno Castellanos y al gerente de ventas C.P. Jos Manuel Daz Snchez, sobre la problemtica principal a la que se enfrenta actualmente la empresa en su rea de ventas, en cuanto al control de clientes. Se defini que se pretende tener un sistema que permita una mejor y ms eficiente recepcin de clientes, as como su posterior seguimiento y administracin por parte de los asesores de venta, que tambin genere reportes basados en el comportamiento y tendencias de los clientes, que a su vez servirn de apoyo en la toma de decisiones a la gerencia general y a la gerencia de ventas.
32
La propuesta de solucin se sustenta en la recopilacin de informacin sobre la problemtica de la empresa, para lo cual se propuso la creacin de un sistema, con el fin de brindar una mayor eficiencia. De esta forma se podr controlar la informacin referente a clientes y se tendr mayor disponibilidad y seguridad de la informacin.
La propuesta ms viable para dar solucin a la problemtica de la empresa KN & Asociados Arquitectum S.A. de C.V., est basada en un entorno de aplicacin de escritorio, para lo cual se ha optado por proponer la realizacin de un sistema mediante el cual se pueda, en primera instancia, registrar a los clientes que son recepcionados en el rea de ventas y determinar de manera precisa si el cliente pertenece o no a alguno de los asesores de la empresa, evitando con esto ambigedades entre los miembros del equipo de ventas. Tambin, el sistema permitir a los asesores de venta llevar un seguimiento puntual sobre sus clientes, emitiendo alertas para dicho propsito, y a su vez el asesor de ventas podr administrar de manera ptima tanto a sus clientes asignados mediante la recepcin en el punto de venta, como a clientes adquiridos mediante diversos medios. Derivado de lo anterior, tanto la gerencia general como la gerencia de ventas podrn generar y visualizar reportes dentro del sistema, los cuales contendrn los indicadores de las tendencias y comportamientos de los clientes, y de cada uno de los asesores del equipo de ventas.
El sistema contar con una interfaz de fcil uso, para que usuarios con mnima experiencia en el uso de computadoras, puedan interactuar con ste sin problema alguno.
Toda la informacin obtenida de clientes y asesores ser almacenada en una base de datos, diseada de tal forma que sea fcil de implementar y requiera un mnimo mantenimiento, aportando con esto un grado mayor de seguridad al sistema.
33
a) Mdulo Recepcin Registrar al cliente que sea recepcionado en el punto de venta. Determinar si el cliente pertenece o no a algn asesor del equipo de ventas. Mostrar el directorio de asesores. Permitir la impresin de reportes/indicadores por parte de la gerencia o recepcin, a peticin de estos.
b) Mdulo Asesor Realizar el registro de clientes por parte del asesor de ventas. Determinar si el cliente pertenece o no a algn asesor del equipo de ventas. Alertar al asesor sobre seguimientos a clientes pendientes. Permitir al asesor de ventas administrar (programar, finalizar) los seguimientos de sus clientes registrados. Emitir reportes de seguimientos a peticin del asesor o gerente. Permitir la impresin de reportes por parte del asesor de ventas o la gerencia.
34
c) Mdulo Administrador Administrar (alta, baja, modificacin, consulta) usuarios del sistema. Modificar clientes registrados. Consulta individual de clientes. Reasignar clientes (individual, grupal). Generar reportes de modificacin y reasignacin de clientes, a peticin del administrador o gerente. Permitir el cambio de contrasea de usuario. Consultar el historial de sesiones de usuarios. Generar copias de seguridad de la base de datos. Administrar (alta, baja, consulta) medios de contacto. Administrar (alta, baja, consulta) puntos de venta. Administrar (alta, baja, consulta) tipos de crdito.
d) Mdulo Ventas Capturar ficha de datos generales. Generar archivos electrnicos con la documentacin de venta (INFONAVIT, FOVISSSTE). Guardar e imprimir a peticin del asesor de ventas, la documentacin de venta. Permitir la modificacin de expedientes capturados. Imprimir la vista previa de la ficha de datos generales. Consulta por nombre o por folio, de expedientes capturados.
35
A continuacin se detallan los requisitos funcionales del sistema: RF1-Registrar cliente. RF2-Modificar cliente. RF3-Consultar cliente. RF4-Validar cliente (durante el registro, determinar si el cliente pertenece o no a algn asesor de ventas). RF5-Emitir alerta visual si el cliente pertenece a algn asesor. RF6-Filtrar y procesar informacin de clientes para generar reportes. RF7-Registrar usuario. RF8-Modificar usuario. RF9-Consultar usuario. RF10-Eliminar usuario. RF12-Programar seguimiento. RF13-Finalizar seguimiento. RF14-Eliminar seguimiento. RF15- Filtrar y procesar informacin de seguimientos para generar reportes. RF16-Validar seguimiento (durante el registro, determinar si es el 3 er seguimiento, bloquear el registro de un nuevo seguimiento). RF17-Emitir alerta visual si hay seguimientos pendientes. RF18-Generar expediente de venta. RF19-Requerir identificacin de usuario. RF20-Agregar medio. RF21-Eliminar medio. RF22-Consultar medio. RF23-Agregar punto de venta.
36
RF24-Eliminar punto de venta. RF25-Consultar punto de venta. RF26-Agregar tipo de crdito. RF27-Consultar tipo de crdito. RF28-Resignar clientes a un asesor distinto del asesor con el cual estn registrados. RF29-Filtrar y procesar informacin de reasignacin y modificacin para generar reportes. RF30-Capturar ficha de datos generales. RF31-Imprimir documentacin de venta. RF32-Guardar documentacin de venta. RF33-Generar vista previa de documentacin de venta. RF34-Generar vista previa de reportes e indicadores.
A continuacin se detallan los requisitos no funcionales del sistema: RNF1-Disponer de ayuda dentro de las funciones del sistema. RNF2-Utilizar encriptacin SHA-512 durante el inicio de sesin. RNF3-Asegurar el fcil uso de la interfaz de usuario. RNF4-Compatibilidad con los sistemas operativos Windows XP y Windows 7. RNF5-Utilizar alertas visuales para informar de errores. RNF6-Utilizar toolTipText en los campos de entrada de datos. RNF7-Usar los colores institucionales de la empresa en el diseo de la interfaz de usuario del sistema. RNF8-Utilizar el logotipo del desarrollo inmobiliario como icono y logotipo en el sistema. RNF9-Uso de mens en cascada. RNF10-Actualizacin inmediata de las vistas de datos.
37
RNF11-Uso de mensajes de confirmacin. RNF12-Mostrar en el ttulo de la ventana principal el id del usuario activo. RNF13-Uso de botones en el rea de trabajo para visualizar a ventanas secundarias. RNF14-Realizar backup de la base de datos. RNF15-Reset de estado de sesin a usuario. RNF16-Uso de botones para ingresar a opciones del sistema. RNF17-Permitir el cambio de contrasea. RNF18-Hacer uso de un archivo de configuracin .ini para iniciar la conexin del sistema con la base de datos. RNF19-Mostrar indicadores de progreso en operaciones que demoren tiempo. RNF20-Utilizar mnemonic en botones. RNF21-Hacer uso de consultas parametrizadas para acceder a la base de datos. RNF22-Utilizar iconos grficos que describan la funcionalidad del botn. RNF23-Generar indicadores y reportes en diversos formatos electrnicos (pdf, rtf, odt, htm, html, xls, xml, csv). RNF24-Permitir la impresin de reportes, indicadores y pantallas a peticin del usuario. RNF25-Mostrar Splash Screen al iniciar el sistema. RNF26-Permitir la consulta del historial de sesiones de usuario. RNF27-Mostrar el men Ayuda en la ventana principal del sistema. RNF28-El sistema debe ser portable. RNF29-Los parmetros de conexin a la base de datos se deben guardar en archivos de configuracin. RNF30-Permitir que el sistema se configure como cliente o servidor, y si se requiere como ambos al mismo tiempo. RNF31-Generar archivos temporales de los expedientes capturados. RNF32-Utilizar una extensin de archivo propia del sistema. RNF33-Permitir la concurrencia de mltiples clientes para consultar los archivos de configuracin en el servidor.
38
El desarrollo del sistema estar enfocado al entorno de aplicacin de escritorio, el cual se comunicar a una base de datos central, desde diversos nodos segn la arquitectura de red con que cuenta la empresa. Tambin deber realizar las funciones de cliente y servidor, de forma independiente o ambas a la vez, adecundose a la distribucin de equipos en la red interna.
Los requerimientos de hardware necesarios para la implementacin del sistema implican una arquitectura, tanto para el cliente como el servidor, con las siguientes caractersticas mnimas: Procesador Pentium IV 1.5 GHz 512 MB de Memoria DDR 60 GB Disco duro IDE
Los requerimientos de software necesarios para la correcta implementacin del sistema sern: Servidor: Windows XP o posterior Java JRE ver. 6
Anlisis de actores
En el diagrama general de casos de uso existen varios actores que se encuentran organizados de forma jerrquica. Se pasa a explicar qu actores componen el caso de uso General para el Sistema de Control de Ventas. Gerente: corresponde al gerente del rea de ventas y al gerente general de la empresa. Administrador: corresponde al personal encargado del rea de sistemas. Asesor: corresponde al personal del rea de ventas (piso de ventas). Recepcionista: corresponde al personal encargado de la recepcin y registro de clientes en el rea de ventas.
40
Anlisis de identificacin
Dentro del caso de uso general los actores Gerente, Administrador, Asesor y Recepcionista, interactan con las acciones permitidas por el sistema. Dichas acciones son definidas en diversos escenarios.
Pueden darse varios escenarios para este caso de uso: 1. Controlar clientes, slo el Gerente, Asesor y Recepcionista podrn realizar las acciones definidas dentro de este escenario. 2. Administrar usuarios, slo el Gerente y Administrador podrn realizar las acciones definidas dentro de este escenario. 3. Gestionar seguimientos, el Asesor y Administrador podrn realizar las acciones definidas dentro de este escenario. 4. Administrar medios, slo el Gerente y Administrador podrn realizar las acciones definidas dentro de este escenario. 5. Administrar puntos de venta, slo el Gerente y Administrador podrn realizar las acciones definidas dentro de este escenario. 6. Administrar tipos de crdito, slo el Gerente y Administrador podrn realizar las acciones definidas dentro de este escenario. 7. Generar ventas, slo el Gerente y Asesor podrn realizar las acciones definidas dentro de este escenario.
41
En la figura 1.2 se muestra el diagrama de caso de uso General, el cual est basado en los requerimientos necesarios para la realizacin del Sistema de Control de Ventas.
Asesor
Generar Ventas
Recepcionista
Gestionar Seguimientos
Administrar Usuarios
Figura 1.2 Diagrama de caso de uso General para el Sistema de Control de Ventas
42
Registrar Clientes
Gerente
Reasignar Clientes
Administrador
43
Flujo Normal: 1. El usuario elige del men principal la opcin Mdulos->Recepcin. 2. El sistema muestra las opciones del mdulo Recepcin. 3. El usuario elige la opcin Registrar. 4. El sistema despliega el formulario Registro de cliente. 5. El sistema pide al usuario llenar el formulario Registro de cliente. 6. El usuario ingresa los datos solicitados por el sistema. 7. El usuario presiona el botn Registrar. 8. El sistema vlida los datos ingresados en el formulario Registro de cliente. 9. El sistema solicita una consulta del cliente en la base de datos. 10. Se realiza la consulta del registro del cliente en la base de datos. 11. El sistema recupera la consulta de la base de datos. 12. El sistema vlida que el cliente no tenga un registro en la base de datos. 13. El sistema pide al usuario que confirme la operacin de registro. 14. El sistema enva los datos del formulario Registro de cliente a la base de datos. 15. El cliente es registrado en la base de datos. 16. El sistema enva un mensaje al usuario, de registro de cliente exitoso. Flujo Alterno 7a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 5). 8a. En caso de que algn dato sea invlido, el sistema enva un mensaje de error al usuario (regresa al punto 5). 12a. En caso de que el cliente se encuentre registrado en la base de datos, el sistema enva un mensaje de alerta al usuario (regresa al punto 5). 13a. En caso de que usuario cancele la operacin, el sistema cancela el registro del cliente y enva un mensaje de registro cancelado al usuario (regresa al punto 5). Poscondiciones El cliente es registrado en la base de datos.
44
45
25. Se actualiza el registro del cliente en la base de datos. 26. El sistema enva un mensaje al usuario, de modificacin de cliente exitosa. Flujo Alterno 9a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 7). 10a. En caso de que el cliente no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 7). 17a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 15). 18a. En caso de que algn dato sea invlido, el sistema enva un mensaje de error al usuario (regresa al punto 15). 22a. En caso de que en la base de datos exista un registro, que coincida con las modificaciones realizadas por el usuario en el formulario Modificacin de cliente, el sistema enva un mensaje de alerta al usuario (regresa al punto 15). 23a. En caso de que el usuario cancele la operacin, el sistema cancela la modificacin del cliente y enva un mensaje de modificacin cancelada al usuario (regresa al punto 7). Poscondiciones El registro del cliente es modificado.
7. El sistema pide al usuario ingresar el id del cliente a consultar. 8. El usuario ingresa el id del cliente. 9. El usuario presiona el botn Aceptar. 10. El sistema vlida el id del cliente. 11. El sistema solicita una consulta del cliente a la base de datos. 12. Se realiza la consulta del cliente en la base de datos. 13. El sistema recupera la consulta de la base de datos. 14. El sistema muestra al usuario, un reporte los datos actuales del cliente. Flujo Alterno 9a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 7). 9b. En caso de que el usuario presione el botn Cancelar, el sistema cancela la consulta del cliente y enva un mensaje de operacin cancelada al usuario (regresa al punto 4). 10a. En caso de que el cliente no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 7). Poscondiciones El registro del cliente es consultado.
47
7. El sistema pide al usuario ingresar el id del cliente a reasignar. 8. El usuario ingresa el id del cliente. 9. El usuario presiona el botn Aceptar. 10. El sistema vlida el id del cliente. 11. El sistema solicita una consulta del cliente a la base de datos. 12. Se realiza la consulta del cliente en la base de datos. 13. El sistema recupera la consulta de la base de datos. 14. El sistema muestra un cuadro de dilogo con el nombre de cliente su id y el nombre e id del asesor al que pertenece actualmente. 15. El usuario presiona al botn Aceptar en el cuadro de dilogo. 16. El sistema solicita una consulta de asesores a la base de datos. 17. Se realiza la consulta de asesores en la base de datos. 18. El sistema recupera la consulta y muestra en un cuadro de dilogo el listado de asesores disponibles para reasignarles el cliente. 19. El usuario selecciona un asesor de la lista. 20. El sistema vlida el asesor seleccionado. 21. El sistema pide al usuario que confirme la operacin de reasignacin. 22. El sistema enva los datos de reasignacin a la base de datos. 23. Se actualiza el registro del cliente en la base de datos, cambiando el asesor al cual est asignado actualmente. 24. Se registra la hora, fecha y datos de reasignacin en la base datos. 25. El sistema muestra al usuario, un mensaje de reasignacin exitosa de cliente con un resumen de la operacin realizada. Flujo Alterno 9a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 5). 9b. En caso de que el usuario presione el botn Cancelar, el sistema cancela la reasignacin del cliente, y enva un mensaje de operacin cancelada, al usuario (regresa al punto 4). 10a. En caso de que el cliente no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 5). 15a. En caso de que el usuario presione el botn Cancelar, el sistema cancela la reasignacin del cliente (regresa al punto 4). 19a. En caso de que el usuario presione el botn Cancelar, el sistema cancela la reasignacin del cliente y enva un mensaje de operacin cancelada al usuario (regresa al punto 4).
48
20a. En caso de que el usuario presione el botn Cancelar, el sistema cancela la reasignacin del cliente y enva un mensaje de operacin cancelada al usuario (regresa al punto 4). 20b. En caso de que el asesor seleccionado sea igual al asesor al que pertenece el cliente actualmente, el sistema mostrar un mensaje de error al usuario (regresa al punto 4). 21a. En caso de que el usuario presione el botn Cancelar, el sistema cancela la reasignacin del cliente y enva un mensaje de operacin cancelada al usuario (regresa al punto 4). Poscondiciones El registro del cliente es reasignado a otro asesor.
Gerente
Asesor
49
50
Programar Seguimiento
4. El usuario elige la opcin Seguimiento. 5. El sistema muestra el formulario Seguimientos. 6. El sistema pide al usuario ingresar el id del cliente a programar. 7. El usuario ingresa el id del cliente. 8. El usuario presiona el botn Buscar. 9. El sistema vlida el id del cliente. 10. El sistema solicita una consulta del cliente a la base de datos. 11. La base de datos realiza la consulta del cliente. 12. El sistema recupera la consulta de la base de datos. 13. El sistema vlida si el cliente cuenta con seguimientos disponibles. 14. El sistema vlida si el cliente tiene seguimientos programados. 15. El sistema muestra en el formulario Seguimiento la informacin de contacto del cliente. 16. El sistema solicita al usuario que ingrese una fecha de programacin de seguimiento para el cliente. 17. El usuario selecciona una fecha de programacin de seguimiento para el cliente. 18. El usuario presiona el botn Programar. 19. El sistema vlida la fecha de programacin. 20. El sistema pide al usuario que confirme la operacin de programacin de seguimiento. 21. El sistema enva los datos de programacin a la base de datos. 22. La base de datos registra el seguimiento programado. 23. El sistema enva un mensaje al usuario, de programacin de seguimiento exitosa. Flujo Alterno 2a. En caso de que existan seguimientos programados por el usuario, el sistema enva un mensaje de recordatorio al usuario (regresa al punto 3). 8a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 6). 9a. En caso de que el cliente no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 6). 13a. En caso de que el cliente no cuente con seguimientos disponibles, el sistema enviar un mensaje de alerta el usuario (regresa al punto 6). 14a. En caso de que el cliente cuente con seguimientos programados, los desplegar en el formulario Seguimientos (regresa al punto 15). 18a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 16).
52
19a. En caso de que la fecha de programacin sea incorrecta, el sistema enviar un mensaje de error al usuario (regresa al punto 16). 20a. En caso de que el usuario cancele la programacin del seguimiento, el sistema cancelar la programacin del seguimiento para el cliente, y mostrar un mensaje de operacin cancelada, al usuario (regresa al punto 6). Poscondiciones Se programa un seguimiento para el cliente.
programado. 17. El usuario ingresa un comentario para el seguimiento programado que desea finalizar. 18. El usuario selecciona la opcin Finalizar. 19. El sistema pide al usuario que confirme la operacin de finalizar seguimiento. 20. El sistema vlida el comentario del seguimiento programado a finalizar. 21. El sistema enva los datos de finalizacin a la base de datos. 22. La base de datos registra la finalizacin. 23. El sistema enva un mensaje de finalizacin de seguimiento programado exitoso. Flujo Alterno 2a. En caso de que existan seguimientos programados por el usuario, el sistema enva un mensaje de recordatorio al usuario (regresa al punto 3). 8a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 6). 9a. En caso de que el cliente no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 6). 19a. En caso de que el usuario cancele la finalizacin del seguimiento, el sistema cancelar la finalizacin del seguimiento para el cliente, y mostrar un mensaje de operacin cancelada, al usuario (regresa al punto 6). 20a. En caso de que el usuario no ingrese un comentario el sistema mostrar un mensaje de error, al usuario (regresa al punto 16). Poscondiciones Se finaliza un seguimiento programado para el cliente.
2. El sistema muestra las opciones del mdulo Administrador. 3. El usuario elige la opcin Utileras. 4. El sistema despliega las opciones. 5. El usuario elige la opcin Reset Seguimientos. 6. El sistema muestra un cuadro de dilogo, donde solicita ingresar un id de cliente para eliminar sus seguimientos. 7. El usuario ingresa el id del cliente. 8. El usuario presiona el botn Aceptar. 9. El sistema vlida el id del cliente. 10. El sistema pide al usuario que confirme la operacin de eliminar seguimientos. 11. El sistema enva los datos de eliminacin de seguimiento a la base de datos. 12. La base de datos elimina los seguimientos del cliente. 13. El sistema enva un mensaje al usuario, de operacin exitosa con un resumen de la operacin. Flujo Alterno 7a. En caso de que el usuario presione el botn Cancelar, el sistema cancelar la eliminacin de seguimientos para el cliente y mostrar un mensaje de operacin cancelada al usuario (regresa al punto 4). 8a. En caso de que el cliente no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 4). 9a. En caso de que el usuario presione el botn Cancelar, el sistema cancelar la eliminacin de seguimientos para el cliente y mostrar un mensaje de operacin cancelada, al usuario (regresa al punto 4). Poscondiciones Se eliminan los seguimientos finalizados y programados para el cliente de la base de datos.
55
Agregar Medios
56
11. El sistema pide al usuario que confirme la operacin de agregado. 12. El sistema vlida que el medio no exista en la base de datos. 13. El sistema enva los datos del formulario Agregacin de medio, a la base de datos. 14. El medio es agregado a la base de datos 15. El sistema enva un mensaje al usuario, de agregacin de medio exitosa. Flujo Alterno. 10a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 8). 11a. En caso de que el usuario presione le botn Cancelar, el sistema cancela la agregacin del medio y enva un mensaje de operacin cancelada al usuario (regresa al punto 8). 12a. En caso de que el medio se encuentre registrado en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 8). Poscondiciones El medio es agregado a la base de datos.
57
10. El usuario presiona el botn Eliminar. 11. El sistema pide al usuario que confirme la operacin de eliminacin. 12. El sistema enva los datos del formulario Eliminacin de medio, a la base de datos. 13. El medio es eliminado de la base de datos. 14. El sistema enva un mensaje al usuario, de eliminacin de medio exitosa. Flujo Alterno. 10a. En caso de que no seleccione un medio, el sistema enva un mensaje de error al usuario (regresa al punto 8). 11a. En caso de que el usuario presione le botn Cancelar, el sistema cancela la eliminacin del medio y enva un mensaje de operacin cancelada al usuario (regresa al punto 8). Poscondiciones El medio es eliminado de la base de datos.
58
Flujo Alterno N/A Poscondiciones Los medios registrados en la base de datos son consultados.
59
60
61
62
63
12. El sistema vlida que el punto de venta no exista en la base de datos. 13. El sistema enva los datos del formulario Agregacin del punto de venta, a la base de datos. 14. El punto de venta es agregado a la base de datos. 15. El sistema enva al usuario, un mensaje de agregacin de punto de venta exitoso. Flujo Alterno. 10a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 8). 11a. En caso de que el usuario presione le botn Cancelar, el sistema cancela la agregacin del punto de venta y enva un mensaje de operacin cancelada al usuario (regresa al punto 8). 12a. En caso de que el punto de venta se encuentre registrado en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 8). Poscondiciones El punto de venta es agregado a la base de datos.
10. El usuario presiona el botn Eliminar. 11. El sistema pide al usuario que confirme la operacin de eliminacin. 12. El sistema enva los datos del formulario Eliminacin del punto de venta, a la base de datos. 13. El punto de venta es eliminado de la base de datos. 14. El sistema enva al usuario, un mensaje de eliminacin de punto de venta exitoso. Flujo Alterno. 10a. En caso de que no seleccione un punto de venta, el sistema enva un mensaje de error al usuario (regresa al punto 8). 11a. En caso de que el usuario presione le botn Cancelar, el sistema cancela la eliminacin del punto de venta y enva un mensaje de operacin cancelada al usuario (regresa al punto 8). Poscondiciones El punto de venta se elimin de la base de datos.
65
Flujo Alterno N/A Poscondiciones Los puntos de venta registrados en la base de datos son consultados.
Registrar Usuarios
Modificar Usuarios
Gerente
Eliminar Usuarios
Administrador
Consultar usuarios
66
67
69
70
modificaciones realizadas por el usuario en el formulario de Modificacin de usuario. 22. El sistema pide al usuario que confirme la operacin de modificacin. 23. El sistema enva los datos del formulario Modificacin de usuario a la base de datos. 24. Se actualiza el registro del usuario en la base de datos. 25. El sistema enva un mensaje al usuario, de modificacin de usuario exitosa. Flujo Alterno 8a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 6). 9a. En caso de que el usuario no exista en la base de datos, el sistema enva un mensaje de error al usuario (regresa al punto 6). 16a. En caso de que no se ingrese algn dato, el sistema enva un mensaje de error al usuario (regresa al punto 14). 17a. En caso de que algn dato sea invlido, el sistema enva un mensaje de error al usuario (regresa al punto 14). 21a. En caso de que en la base de datos exista un registro, que coincida con las modificaciones realizadas por el usuario en el formulario Modificacin de usuario, el sistema enva un mensaje de alerta al usuario (regresa al punto 14). 22a. En caso de que usuario cancele la operacin, el sistema cancela la modificacin del usuario y enva un mensaje de modificacin cancelada al usuario (regresa al punto 6). Poscondiciones El registro del usuario es modificado.
71
Todo esto se plasma en un esquema grfico que tiene por objeto, por una parte, ayudar al programador durante la codificacin y por otra, al usuario a comprender el problema y el funcionamiento del programa.
Conjunto de entidades: es la clase o tipo al que pertenecen entidades con caractersticas comunes.
Atributo: cada una de las caractersticas que posee una entidad, y que agrupadas permiten distinguirla de otras entidades del mismo conjunto.
Clave candidata: es cada una de las claves mnimas existente en un conjunto de entidades.
72
Clave principal: (o primaria), es una clave candidata elegida de forma arbitraria, que se usa siempre para identificar una entidad.
Dependencia de existencia: se dice que existe una dependencia de existencia entre una entidad, subordinada, y otra, dominante, cuando la eliminacin de la entidad dominante, conlleva tambin la eliminacin de la entidad o entidades subordinadas.
En la figura 2.1 se muestra el diagrama entidad-relacin de la base de datos correspondiente al Sistema de Control de Ventas.
73
Figura 2.1 Diagrama Entidad-Relacin de la base de datos del Sistema de Control de Venta
74
El diagrama de clases se conforma por los siguientes elementos: Clase: atributos, mtodos y visibilidad. Relaciones: Herencia, Composicin, Agregacin, Asociacin y Uso.
Clase: es la unidad bsica que encapsula toda la informacin de un objeto. A travs de ella se puede modelar el entorno en estudio.
Atributos: los atributos o caractersticas de una clase pueden ser de tres tipos, los que definen el grado de comunicacin y visibilidad de ellos con el entorno, Public, Private y Protected.
Herencia (Especializacin/Generalizacin): indica que una subclase hereda los mtodos y atributos especificados por una Sper Clase; por ende la subclase adems de poseer sus propios mtodos y atributos, poseer las caractersticas y atributos visibles de la Sper Clase (public y protected).
Agregacin: para modelar objetos complejos, no bastan los tipos de datos bsicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicacin.
75
Asociacin: la relacin entre clases conocida como Asociacin, permite asociar objetos que colaboran entre si.
Dependencia o Instanciacin (uso): representa un tipo de relacin muy particular, en la que una clase es instanciada (su instanciacin es dependiente de otro objeto/clase).
76
Usuarios +id_usuario: string +id_puesto: int +id_rol: int -nombre: string -ap_paterno: string -ap_materno: string -contrasena: string -fecha_alta: date -hora_alta: time -sesion_activa: boolean -email: string -telefono_casa: long -telefono_celular: long -Registrar() -Modificar() -Eliminar() -Consultar() 1 * Clientes +id_cliente: long +id_punto: int +id_medio: int +id_credito: int +id_recepcion: int +id_usuario: string -nombre: string -ap_paterno: string -ap_materno: string -email: string -telefono_casa: long -telefono_celular: long -telefono_trabajo: long -telefono_recados: long -estado: string -municipio: string -nss: long -curp: string -fecha_recepcion: date -hora_recepcion: time -fecha_nacimiento: date -comentarios: string -autorizo: string -modifico: string -fecha_mod: date -Registrar() -Modificar() -Consultar() -Reasignar() 1 *
1 * * 1 1
Sesiones +id_usuario: string -id_sesion: int -fecha_sesion: date -hora_sesion: time -Registrar()
Seguimientos +id_usuario: string +id_cliente: long -id_seguimientos: long -no_seguimiento: int -comentario: string -revisado: boolean -fecha_seg: date -programado: boolean -Programar() -Finalizar() -Eliminar() *
Reasignaciones * +id_asesor_viejo: string +id_asesor_nuevo: string +id_cliente: long -id_reasignacion: long -fecha_reasignacion: date * -Agregar() -Consultar()
1 Tipo_credito +id_credito: int -nombre_credito: string Punto_venta +id_punto: int -nombre_punto: string
77
Este modelo considera la base de datos como una coleccin de relaciones. De manera simple, una relacin representa una tabla que no es ms que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila tambin se puede denominar tupla o registro y a cada columna tambin se le puede llamar campo o atributo.
El modelo se compone de tres partes: Estructura de datos: bsicamente se compone de relaciones. Manipulacin de datos: un conjunto de operadores para recuperar, derivar o modificar los datos almacenados. Integridad de datos: una coleccin de reglas que definen la consistencia de la base de datos.
En la figura 2.3 se muestra el diagrama relacional de la base de datos correspondiente al Sistema de Control de Ventas.
78
Figura 2.3 Diagrama relacional de la base de datos del Sistema de Control de Ventas 79
A continuacin se muestra el diccionario de datos correspondiente a la base de datos del Sistema de Control de Ventas:
Tabla usuarios Campo id_usuario nombre ap_paterno ap_materno contrasena id_puesto fecha_alta hora_alta sesion_activa id_rol email telefono_casa telefono_celular Tipo varchar varchar varchar varchar varchar int date time tinyint int varchar bigint bigint Extensin Restriccin 10 40 40 40 150 1 N/A N/A 1 1 40 15 15 PK N/A N/A N/A N/A FK N/A N/A N/A FK N/A N/A N/A Observaciones Llave primaria de la tabla usuarios Nombre de usuario Apellido paterno de usuario Apellido materno de usuario Contrasea de usuario Llave fornea tomada de la tabla puestos Fecha de registro de usuario Hora de registro de usuario Estado de sesin de usuario Llave fornea tomada de la tabla roles Email de usuario Telfono de casa de usuario Telfono celular de usuario
Tabla roles Campo id_rol nombre_rol descripcion Tipo int varchar varchar Extensin Restriccin 1 20 50 PK N/A N/A Observaciones Llave primaria de la tabla roles Tipo de rol Descripcin del rol
80
Tabla puestos Campo id_puesto nombre_puesto Tipo int varchar Extensin Restriccin 1 30 PK N/A Observaciones Llave primaria de la tabla puestos Tipo de puesto
Tabla sesiones Campo id_sesion fecha_sesion hora_sesion id_usuario Tipo bigint date time varchar Extensin Restriccin 255 N/A N/A 10 PK N/A N/A FK Observaciones Llave primaria de la tabla sesiones Fecha inicio de sesin Hora de inicio de sesin Llave fornea tomada de la tabla usuarios
Tabla seguimientos Campo id_seguimiento no_seguimiento comentario id_usuario id_cliente revisado fecha_seg programado Tipo bigint int varchar varchar bigint tinyint date tinyint Extensin Restriccin 255 1 255 10 255 1 N/A 1 PK N/A N/A FK FK N/A N/A N/A Observaciones Llave primaria de la tabla seguimientos Nmero de seguimiento Comentario sobre el seguimiento Llave fornea tomada de la tabla usuarios Llave fornea tomada de la tabla clientes Estado del seguimiento Fecha de programacin de seguimiento Estado de programacin de seguimiento
Tabla clientes Campo id_cliente nombre ap_paterno ap_materno email telefono_casa telefono_celular telefono_trabajo telefono_recados Tipo bigint varchar varchar varchar varchar bigint bigint bigint bigint Extensin Restriccin 255 40 40 40 70 15 15 15 15 PK N/A N/A N/A N/A N/A N/A N/A N/A Observaciones Llave primaria de la tabla clientes Nombre del cliente Apellido paterno del cliente Apellido materno del cliente Email del cliente Telfono de casa del cliente Telfono celular del cliente Telfono de trabajo del cliente Telfono de recados del cliente 81
estado municipio nss curp fecha_recepcion hora_recepcion id_punto id_medio id_credito fecha_nacimiento
varchar varchar int varchar date time int int int date
Estado de origen del cliente Delegacin o municipio de origen del cliente Numero de seguro social del cliente Clave curp del cliente Fecha de registro del cliente Hora de registro del cliente Llave fornea tomada de la tabla punto_venta Llave fornea tomada de la tabla medios Llave fornea tomada de la tabla tipo_credito Fecha de nacimiento del cliente Llave fornea tomada de la tabla
1 10 140
FK FK N/A
tipo_recepcion Llave fornea tomada de la tabla usuarios Cometarios sobre registro del cliente Nombre del usuario que forz el registro del
autorizo
varchar
134
N/A
modifico
varchar
10
N/A
fecha_mod
date
N/A
N/A
Tabla medios Campo id_medio nombre_medio Tipo int varchar Extensin Restriccin 2 30 PK N/A Observaciones Llave primaria de la tabla medios Tipo de medio
Tabla tipo_recepcion Campo id_recepcion tipo_recepcion Tipo Int Varchar Extensin Restriccin 1 1 PK N/A Observaciones Llave primaria de la tabla tipo_recepcion Tipo del recepcin
82
Tabla tipo_credito Campo id_credito nombre_credito Tipo Int Varchar Extensin Restriccin 2 30 PK N/A Observaciones Llave primaria de la tabla tipo_credito Tipo de crdito
Tabla punto_venta Campo id_punto nombre_punto Tipo Int Varchar Extensin Restriccin 2 30 PK N/A Observaciones Llave primaria de la tabla medios Tipo de punto de venta
Tabla reasignaciones Campo id_reasignacion id_asesor_nuevo id_asesor_viejo fecha_reasignacion id_cliente Tipo Bigint Varchar Varchar Date Bigint Extensin Restriccin 255 10 10 N/A 255 PK FK FK N/A FK Observaciones Llave primaria de la tabla reasignaciones Llave fornea tomada de la tabla usuarios Llave fornea tomada de la tabla usuarios Fecha de reasignacin de cliente Llave fornea tomada de la tabla clientes
83
2.5 Prototipos
Para el diseo del Sistema de Control de Ventas se crearon dos prototipos para la interfaz principal del mismo, basados en las especificaciones del cliente. Las caractersticas por bloque del prototipo 1 (figura 2.4) se detallan a continuacin:
1. En esta rea se colocar el logotipo del fraccionamiento. 2. En esta rea se colocar el men principal del sistema. 3. Este espacio ser el rea de trabajo. 4. En esta rea se encontrarn las opciones secundarias del sistema. 5. En esta rea se encontrarn los botones de acceso a los formularios del sistema.
1 2 3
5 4
84
Las caractersticas por bloque del prototipo 2 (figura 2.5) se detallan a continuacin:
1. En esta rea se colocar el men principal del sistema. 2. Este espacio ser el rea de trabajo. 3. En esta rea se encontrarn las opciones secundarias del sistema. 4. En esta rea se encontrar la barra de estado del sistema. 5. En esta rea se encontrarn hipervnculos para el acceso a formularios del sistema.
5 2
85
Fuente utilizada en ttulos, etiquetas, cajas de texto, mensajes y botones de todo tipo. -Tipo de Fuente: Arial -Formato de fuente: Bold -Tamao de fuente: 12 puntos. -Color de fuente: Negro RBG (0, 0,0), hex (#000000).
Imgenes utilizadas en botones estndar, ventanas, iconos y cajas de dilogo. -Formatos: png, jpg e ico -Tamaos: 32X32 y 48X48 pixeles -Tipo: Vectorial -Fondo: Transparente (canal Alpha) en el caso de png e ico y blanco (RBG (0, 0,0), hex (#FFFFFF)) para jpg
Colores utilizados en botones, barras de desplazamiento, seleccin de mens, background (rea de trabajo), rea de opciones secundarias, foco en cajas de texto, y combobox. -Color RBG (208, 0, 172), hex (#D000AC): seleccin de botones y foco cajas de texto. -Color RBG (208, 0, 182), hex (#DA00B6): barras de desplazamiento y combobox. -Color RBG (228, 0, 192), hex (#E400C0): seleccin de mens y rea de opciones secundarias. -Color RBG (224, 224, 244), hex (#E0E0E0): background de todas las ventanas, incluyendo cajas de dilogo.
86
El uso de mens slo est destinado para la seleccin y despliegue de opciones generales del sistema. El men debe esta constituido por un verbo o sustantivo que exprese de forma general su propsito.
El uso de botones de funcin est destinado al despliegue y ejecucin de funciones especificas del sistema. El formato de los dichos botones debe contener un verbo o sustantivo que haga referencia a su funcin acompaado por una imagen que haga referencia a dicha funcin.
Las cajas de dilogo debern contener un titulo que identifique la accin que realizan, haciendo uso de no ms de 10 palabras. El contenido de las cajas de dilogo debe expresar de forma clara y en lenguaje comn o tcnico la instruccin o mensaje que emiten al usuario.
Las funciones para maximizar y minimizar deben ser bloqueadas en todas las ventanas del sistema para maximizar su visibilidad en la pantalla del usuario y evitar distracciones durante su uso. A su vez el tamao de las ventanas del sistema se ajustar de forma predeterminada al centro de la pantalla ocupando aproximadamente un 30 % o 45 % de la misma a fin de permitir el uso de otro sistema a la vez.
1. En esta rea se colocar el logotipo del fraccionamiento. 2. En esta rea se colocar el men principal del sistema. 3. Este espacio ser el rea de trabajo.
87
4. En esta rea se encontrarn las opciones secundarias del sistema. 5. En esta rea se encontrarn los botones de acceso a los formularios del sistema.
1 2 3
5 4
La interfaz principal de usuario (figura 3.2) estar enmarcada en un ventana cuyo diseo contiene: titulo de la ventana, logotipo del fraccionamiento, botones para minimizar y cerrar (esta rea corresponde al bloque 1 del prototipo, figura 3.1), un rea de trabajo (esta rea corresponde al bloque 3 del prototipo, figura 3.1) y adems consta de un men desplegable (esta rea corresponde al bloque 2 del prototipo, figura 3.1) con las siguientes opciones: Inicio y Ayuda. Dentro del men Inicio se encuentran las opciones Mdulos y Cerrar Sesin. La opcin Mdulos desplegar opciones especificas para el manejo del sistema, las cuales son Recepcin, Asesor, Venta y Administrador y la opcin Cerrar Sesin simplemente dar por finalizada la sesin del usuario y terminar con la ejecucin del sistema, la opcin Ayuda mostrar en pantalla el manual de uso del sistema y desplegara el apartado Acerca De. En la figura 3.3, se puede apreciar la distribucin de los mens dentro de la interfaz principal del sistema.
88
Bloque 1 Bloque 2
Bloque 3
Al seleccionar alguna opcin del men Inicio->Mdulos el sistema desplegar dentro del rea de trabajo una seccin que contiene las opciones secundarias del sistema (esta
89
rea corresponde al bloque 4 y 5 del prototipo, figura 3.1), dichas opciones harn que el usuario pueda controlar, gestionar o administrar funciones especficas del sistema. En la figura 3.4 se muestra la seccin de opciones secundarias del sistema.
Bloque 4 Bloque 5
A continuacin se muestra la codificacin utilizada para el diseo y desarrollo de la interfaz principal del sistema. Dicha codificacin fue desarrollada haciendo uso de la sintaxis y la lgica de programacin del lenguaje de programacin Java.
90
91
92
93
94
95
96
La codificacin utilizada para el diseo y desarrollo de la interfaz secundaria Registro, fue desarrollada haciendo uso de la sintaxis y la lgica de programacin del lenguaje de programacin Java.
Tabla clientes
En la figura 3.12 se muestra el script escrito en SQL para MySQL, con el cual fue creada la tabla clientes.
Tabla reasignaciones
En la figura 3.13 se muestra el script escrito en SQL para MySQL, con el cual fue creada la tabla reasignaciones.
Tabla seguimientos
En la figura 3.14 se muestra el script escrito en SQL para MySQL, con el cual fue creada la tabla seguimientos.
99
La prueba de caja blanca es un mtodo de diseo de casos de prueba que usa la estructura de control del diseo procedimental para derivar los casos de prueba.
Las pruebas de caja blanca intentan garantizar que: Se ejecutan al menos una vez todos los caminos independientes de cada mdulo. Se utilizan las decisiones en su parte verdadera y en su parte falsa. Se ejecutan todos los bucles en sus lmites. Se utilizan todas las estructuras de datos internas.
Conocer el desarrollo interno del programa, determinante en el anlisis de coherencia y consistencia del cdigo. Considerar las reglas predefinidas por cada algoritmo. Comparar el desarrollo del programa en su cdigo con la documentacin pertinente.
Las pruebas de caja blanca que se realizaron al Sistema de Control de Ventas, comprende el siguiente grupo: complejidad ciclomtica y caminos bsicos. A continuacin se muestran las definiciones y resultados de dichas pruebas.
La complejidad ciclomtica se basa en el recuento del nmero de caminos lgicos individuales contenidos en un programa. Para calcular la complejidad del software, Thomas McCabe utiliz la teora y flujo de grafos. Para hallar la complejidad ciclomtica, el programa se representa como un grafo, y cada instruccin que contiene, un nodo del grafo. Las posibles vas de ejecucin a partir de una instruccin (nodo) se representan en el grafo como aristas.
El mtodo de McCabe opera as: 1. Convertir el cdigo a un grafo de control (figuras 3.15, 3.16 y 3.17). 2. Calcular el nmero ciclomtico y obtener la base de caminos. 3. Preparar un caso de prueba para cada camino bsico.
El resultado obtenido en el clculo de la complejidad ciclomtica define el nmero de caminos independientes dentro de un fragmento de cdigo y determina la cota superior
101
del nmero de pruebas que se deben realizar para asegurar que se ejecuta cada sentencia al menos una vez.
La medida resultante puede ser utilizada en el desarrollo, mantenimiento y reingeniera para estimar el riesgo, costo y estabilidad. Algunos estudios experimentales indican la existencia de distintas relaciones entre la mtrica de McCabe y el nmero de errores existentes en el cdigo fuente, as como el tiempo requerido para encontrar y corregir esos errores.
A continuacin se muestra el fragmento de cdigo sobre el cual se realiz una de las pruebas de complejidad ciclomtica:
En la figura 3.15 se muestra la codificacin utilizada para la funcin Agregar Medio. Dicha codificacin fue realizada utilizando el lenguaje de programacin Java.
102
conectar() val=validaMedio()
No
val==false
Si
El medio ya existe
No
resul==0
Si
No
cdr.next() Si
Operacin cancelada
cont++
No
cont>id
Si
insert()
update()
desconectar()
Fin
En la figura 3.17 se muestra la conversin del diagrama de flujo (figura 3.16) a grafo, para la funcin Agregar Medio.
104
CC = A - N + 2 donde CC = 14 - 11 + 2 = 5
Frmula 2
Frmula 3
CC = Numero de regiones CC = 5
Caminos bsicos
La aplicacin de este criterio de cobertura asegura que los casos de prueba diseados permiten que todas las sentencias del programa sean ejecutadas al menos una vez y que las condiciones sean probadas para su valor tanto verdadero como falso.
Esta tcnica se basa en obtener una medida de la complejidad del diseo procedimental de un programa (o de la lgica del programa). Esta medida es la complejidad ciclomtica de McCabe, y representa un lmite superior para el nmero de casos de prueba que se deben realizar para asegurar que se ejecuta cada camino del programa.
105
A continuacin se muestran los caminos bsicos obtenidos del grafo de la figura 3.7.
Caminos bsicos
1) 1, 2, 3, 11 2) 1, 2, 4, 5, 11 3) 1, 2, 4, 6, 8 4) 1, 2, 4, 6, 7, 9, 11 5) 1, 2, 4, 6, 7, 10, 11
Camino 1 2 3 4 5
106
En otras palabras, de una caja negra interesa la forma de interactuar con el medio que le rodea (en ocasiones, otros elementos que tambin podran ser cajas negras) entendiendo qu es lo que hace, pero sin dar importancia a cmo lo hace. Por tanto, de una caja negra deben estar muy bien definidas sus entradas y salidas, es decir, su interfaz; en cambio, no se precisa definir ni conocer los detalles internos de su funcionamiento.
Dentro de las pruebas de caja negra se tiene la particin equivalente la cual se describe a continuacin.
Particin equivalente
La particin equivalente es un mtodo de prueba de caja negra que divide el campo de entrada de un programa en clases de datos de los que se pueden derivar casos de prueba. Un caso de prueba ideal descubre de forma inmediata una clase de errores que, de otro modo, requeriran la ejecucin de muchos casos antes de detectar el error genrico. La particin equivalente se dirige a la definicin de casos de prueba que descubran clases de errores, reduciendo as el nmero total de casos de prueba que hay que desarrollar.
A continuacin se mostrar una prueba particin equivalente la cual consiste en verificar las acciones que se realizan al agregar un medio a la base de datos.
107
val = true txtMedio = Revista resul = 0 id = 2 cont = 1 Registro de medio exitoso Registro de medio exitoso
val = false txtMedio = N/A resul = N/A id = N/A cont = N/A El medio ya existe El medio ya existe
108
val = true txtMedio =medi%_* resul = N/A id = N/A cont = N/A Textbox bloquea la entrada de caracteres no alfanumricos Textbox bloquea la entrada de caracteres no alfanumricos
val = true txtMedio = revista inmuebles resul = 0 id = 2 cont = 1 Registro de medio exitoso Registro de medio exitoso
val = true txtMedio = revista inmuebles resul = 0 id = 1 cont = 1 Registro de medio exitoso Registro de medio exitoso
val = true txtMedio = revista resul = 1 id = N/A cont = N/A Operacin cancelada Operacin cancelada
val = true txtMedio = revista resul = 0 id = 1 cont = 1 Registro de medio exitoso Registro de medio exitoso
rendimiento
son
un
subconjunto
de
la
ingeniera
de
pruebas,
una
prctica informtica que se esfuerza por mejorar el rendimiento, englobndose en el diseo y la arquitectura de un sistema, antes incluso del esfuerzo inicial de la codificacin.
A continuacin se muestran los indicadores de rendimiento para el Sistema de Control de Ventas (figuras 3.18 y 3.19). Dichas indicadores fueron tomados en un entorno de produccin estndar dentro de la infraestructura de hardware de le empresa KN & Asociados Arquitectum S.A. de C.V.
Las caractersticas de la PC en donde se ejecut el Sistema de Control de Ventas son: 320 GB HDD. 2 GB de RAM DDR3 Procesador de 1.6 GHz
Al momento de tomar los indicadores de rendimiento, el equipo donde se ejecuta el sistema, fue sometido a un intenso uso tanto de red como de aplicaciones propias y externas, que corren sobre el sistema operativo Windows 7 Started.
110
111
En la figura 3.18 se puede apreciar que el Sistema de Control de Ventas presenta un consumo de CPU de 6, 678,588.187 ciclos y un consumo de memoria fsica de 71,452 K. En la figura 3.19 se apreciar de mejor forma el impacto del sistema, especficamente en el CPU y la memoria, 0.14% de uso de CPU y 95.4 MB de consumo de RAM total, lo cual demuestra que el consumo del sistema es relativamente bajo condiciones extremas de uso de la PC y del mismo sistema.
Estos valores pueden variar dependiendo de las caractersticas de hardware y software de la PC donde se instale el sistema, el sistema operativo y de la carga a la que sea sometido el sistema.
En la prueba de resolucin en un monitor de 800 X 600 pixeles (figura 3.20), la nitidez del sistema es aceptable, no pierde funcionalidad ni utilidad, aunque no se recomienda esta resolucin para visualizar el sistema.
112
Figura 3.20 Interfaz principal del Sistema de Control Ventas en un resolucin de pantalla de 800 X 600 pixeles
En la prueba de resolucin en un monitor de 1024 X 768 pixeles (figura 3.21), la nitidez del sistema es buena, no pierde funcionalidad ni utilidad. Esta resolucin es altamente recomendable para la visualizacin del sistema.
Figura 3.21 Interfaz principal del Sistema de Control Ventas en un resolucin de pantalla de 1024 X 768 pixeles
113
En la prueba de resolucin en un monitor de 1280 X 768 pixeles (figura 3.22), la nitidez del sistema es optima, no pierde funcionalidad ni utilidad. Esta resolucin es altamente recomendable para la visualizacin del sistema.
Figura 3.22 Interfaz principal del Sistema de Control Ventas en un resolucin de pantalla de 1280 X 768 pixeles
Finalmente en la prueba de resolucin en un monitor de 1366 X 768 pixeles (figura 3.23), la nitidez del sistema es excelente, no pierde funcionalidad ni utilidad. Esta es la resolucin nativa del sistema.
Figura 3.23 Interfaz principal del Sistema de Control Ventas en un resolucin de pantalla de 1366 X 768 pixeles
114
CONCLUSIONES
Al trmino del proyecto, el sistema controla la informacin de los clientes recepcionados en el punto de venta y registrados por los asesores de venta, de manera adecuada y ptima. Es por ello que el sistema cumple con las especificaciones planteadas tanto externas como internas.
El sistema presenta un fcil manejo para los usuarios por lo cual su instalacin, uso y manteniendo puede ser realizado por personal con escaso conocimiento de informtica; ya que el sistema es multiplataforma puede ser migrado fcilmente a diversos sistemas operativos.
La base de datos con la que se cuenta en el sistema, es una herramienta que hace la manipulacin de la informacin ms eficiente y menos redundante, dotando al sistema de un alto nivel de seguridad y propiciando la transparencia en el manejo de los datos de clientes y usuarios
Derivado de la pruebas realizadas al sistema en un entorno de produccin, se puede mencionar que funciona de manera eficiente y sin error alguno, cumple con los requerimientos del cliente y excede las expectativas en cuanto al manejo oportuno de la informacin, convirtindose en una herramienta de toma de decisiones para la empresa KN & Asociados Arquitectum S.A. de C.V.
115
LISTADO DE ACRNIMOS
API Application Programming Interface (Interfaz de Programacin de Aplicaciones)
AWT Abstract Window Toolkit (Kit de Herramientas de Ventana Abstracta) CPU Central Processing Unit (Unidad Central de Procesamiento) DDR Double Data Rate (Doble Tasa de Transferencia de Datos) FK Foreign Key (Llave Fornea)
GNU GNU is Not Unix (GNU no es Unix) GPL General Public License (Licencia Publica General) GPU Graphics Procesing Unit (Unidad de Procesamiento Grafico) HDD Hard Disk Drive (Unidad de Disco Duro) IDE Integrated Development Environment (Entorno de Desarrollo Integrado)
JDBC Java Database Connectivity (Conectividad Java a la Base de Datos) JDK Java Development Kit (Equipo de Desarrollo Java) JRE Java Runtime Environment (Entorno de Ejecucin Java)
LCD Liquid Cristal Display (Pantalla de Cristal Liquido) PK Primary Key (Llave Primaria)
RAM Random Access Memory (Memoria de Acceso Aleatorio) RBG Red Blue Green (Rojo, Azul y Verde) RF Requisito Funcional
RNF Requisito No Funcional SGDB Sistema Gestor de Base De Datos SHA Secure Hash Algorithm (Algoritmo de Hash Seguro) SQL Structured Query Language (Lenguaje de Consulta Estructurado) UML Unified Modeling Language (Lenguaje Unificado de Modelado)
116
GLOSARIO DE TRMINOS
Atributo: representa una propiedad de inters de una entidad.
Applet: es un componente de una aplicacin que se ejecuta en el contexto de otro programa, por ejemplo un navegador web.
Backup: es una copia de seguridad, o el proceso de copia de seguridad, con el fin de que estas copias adicionales puedan utilizarse para restaurar el original despus de una eventual prdida de datos.
Base de datos: conjunto de datos relacionados que se almacenan de forma que se pueda acceder a ellos de manera sencilla, con la posibilidad de relacionarlos, ordenarlos en base a diferentes criterios, etc.
Bug: es el resultado de un fallo o deficiencia durante el proceso de creacin de programas de ordenador o computadora (software).
Byte: es una secuencia de bits (octeto) contiguos, cuyo tamao depende del cdigo de informacin o cdigo de caracteres en que sea definido.
Bytecode: es un cdigo intermedio ms abstracto que el cdigo mquina. Suele ser tratado como un fichero binario que contiene un programa ejecutable similar a un mdulo objeto, que es un fichero binario producido por el compilador cuyo contenido es el cdigo objeto o cdigo mquina.
C: es un lenguaje de programacin creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolucin del anterior lenguaje B, a su vez basado en BCPL.
117
Se trata de un lenguaje dbilmente tipificado de medio nivel pero con muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel.
C++: es un lenguaje de programacin diseado a mediados de los aos 1980 por Bjarne Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de programacin C con mecanismos que permitan la manipulacin de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje hbrido.
Cliente-Servidor: es un modelo de aplicacin distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta.
Framework: es una estructura conceptual y tecnolgica de soporte definido, normalmente con artefactos o mdulos de software concretos, con base a la cual otro proyecto de software puede ser ms fcilmente organizado y desarrollado. Tpicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para as ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Grafo: es un conjunto de objetos llamados vrtices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre elementos de un conjunto.
118
Hardware: corresponde a todas las partes tangibles de un sistema informtico, sus componentes son: elctricos, electrnicos, electromecnicos y mecnicos.
Hash: a las funciones hash tambin se les llama funciones picadillo, funciones resumen o funciones de digest. Una funcin hash H es una funcin computable mediante un algoritmo: H: U M x h(x) Que tiene como entrada un conjunto de elementos, que suelen ser cadenas, y los convierte (mapea) en un rango de salida finito, normalmente cadenas de longitud fija.
Interfaz: engloba la forma en la que el operador interacta con el ordenador, los mensajes que ste recibe en pantalla, las respuestas del ordenador a la utilizacin de perifricos de entrada de datos, etc.
Java: es un lenguaje de programacin orientado a objetos, desarrollado por Sun Microsystems a principios de los aos 90. El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros o memoria.
JFrame: es el componente bsico que se requiere cada vez que se implementa una interfaz visual con la librara Swing es la clase JFrame. Esta clase encapsula una ventana clsica de cualquier sistema operativo con entorno grfico (Windows, OS X, Linux etc.).
Kernel: es un software que constituye la parte ms importante del sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, tambin se encarga de decidir qu programa podr hacer uso de
119
un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.
MySQL: es un sistema de gestin de bases de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones. MySQL AB desde enero de 2008 es una subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation quien desde abril de 2009, desarrolla MySQL como software libre en un esquema de licenciamiento dual.
Nodo: es un punto de interseccin o unin de varios elementos que confluyen en el mismo lugar.
Pentium: es una gama de microprocesadores de quinta generacin con arquitectura x86 producidos por Intel Corporation.
Pixeles: es la menor unidad homognea en color que forma parte de una imagen digital, ya sea esta una fotografa, un fotograma de vdeo o un grfico.
Servidor: es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes.
120
Script: es un programa usualmente simple, que por lo regular se almacena en un archivo de texto plano. Los guiones son casi siempre interpretados, pero no todo programa interpretado es considerado un guion.
Sistema: conjunto de procesos o elementos interrelacionados con un medio para formar una totalidad encauzada hacia un objetivo comn.
Software: equipamiento lgico o soporte lgico de un sistema informtico, comprende el conjunto de los componentes lgicos necesarios que hacen posible la realizacin de tareas especficas.
SQL server: es un sistema para la gestin de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, PostgreSQL o MySQL.
Tabla: se refiere al tipo de modelado de datos, donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de clculo.
TextBox: es una caja de entrada de texto utilizada en aplicaciones de diversa ndole y por varios leguajes de programacin, en entornos de programacin grfica.
Tupla: sirve para agrupar, como si fueran un nico valor, varios valores que, por su naturaleza, deben ir juntos.
Windows: es el nombre de una familia de sistemas operativos desarrollados por Microsoft desde 1981, ao en que el proyecto se denominaba Interface Manager.
121
BIBLIOGRAFA
122
http://es.wikipedia.org http://docs.oracle.com/javase/6/docs/api/
123