Está en la página 1de 13

Captulo tercero Planteamiento del problema

Para conocer la necesidad que ha dado lugar a este proyecto, se expone en este captulo la situacin previa de la empresa que es lo que hizo surgir tal necesidad. Se explica la actividad de la empresa y los aspectos de inters de acara a la realizacin del proyecto. Luego se plantea el problema detallando todos los aspectos que estn especificados para finalmente seleccionar la tecnologa de programacin que se usar en nuestra aplicacin Web.

I.3.1 Situacin previa de la empresa


I.3.1.1 Productos de la empresa
La empresa que nos ocupa se dedica a la elaboracin de bolsas. Disponen de diversos materiales para su elaboracin, as como de la posibilidad de decorarlas con colores, segn la eleccin del cliente, que tambin puede detallar el porcentaje de la superficie de la bolsa que se pinta. Los productos de los que dispone la empresa vienen determinados por los distintos materiales con los que se puede elaborar una bolsa. Dentro de cada producto existen parmetros que fijan las caractersticas del producto as como el precio. El material con que se elabora la bolsa, el tamao de la bolsa, el nmero de tintas con el que se pinta, el porcentaje de superficie sobre el que se pinta o espesor (medido en galga o micra), son los parmetros que determinan el precio de un producto. Aunque tal combinacin de parmetros parece que dara lugar a una infinidad de productos, todos estos parmetros se hacen numerables, de manera que el nmero de productos es finito y numerable. Por ejemplo, un producto que podramos elegir sera una bolsa de plstico transparente con: valor de galga 75 (la galga se divide en tres tramos: g<101, 100<g<151, g>150), ancho 14cm, largo 15cm, porcentaje de superficie a pintar 60% (se escalona de 10 en 10) y 5 tintas a usar para pintar. Si tuviramos una tarifa de precios por cada conjunto de valores que determinan estos parmetros tendramos un grupo infinito de tarifas. Para evitar esto se parte de unas tarifas que dependen de los parmetros que toman slo un nmero de valores determinados (o que entran dentro de un nmero de rangos determinados, como el caso de la galga). De esta forma, el ancho y largo no influyen en la tarifa, slo en el clculo del precio final de la bolsa, que se basa en dicha tarifa. En cuanto al espesor, en el caso en el que se mide en micras, se tiene un conjunto finito de valores. En el caso de que el
Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

47

I Memoria espesor se mida en galga, se podr tener un valor que va de 0 a infinito, por tanto, para poder hacer numerable el nmero de tarifas asociadas, se divide este rango en tres subrangos y a cada uno de stos se le asigna una tarifa distinta. Concretamente los subrangos en que se divide la galga son galga<101, galga entre 101 y 150 y finalmente galga>150. En el caso del ejemplo anterior, la tarifa de base sera 4.18 euros (mirar tabla de la figura I.3.1), donde no se tiene en cuenta el largo y ancho, y el P.V.P. total sera 6.84 euros, donde ya se ha tenido en cuenta la superficie (ancho x largo). Hay que hacer notar que la inclusin de la superficie en el clculo del precio total no supone simplemente una operacin de multiplicacin, sino que est involucrada en una serie de clculos de aumentos y descuentos en funcin de tal parmetro, que pueden ser distintos en cada grupo de productos. Se tiene una tarifa por cada producto y tambin por cada rango de la galga o valor del espesor (segn el producto o bien se caracteriza por su espesor medido en galga o bien por su espesor medido en micras). En el captulo quinto, Anlisis de los datos de partida, se analiza el archivo de partida y se ver que cada grupo se caracteriza por tener unas tablas donde se calculaban las tarifas en funcin de varios parmetros. Se muestra a continuacin la tabla para el producto de nuestro ejemplo, con los parmetros seleccionados remarcados: % Masa Tinta
10 20 30 40 50 60 70 80 90 100

1 3,62 3,70 3,78 3,86 3,94 4,02 4,10 4,18 4,26 4,34

2 3,66 3,74 3,82 3,90 3,98 4,06 4,14 4,22 4,30 4,38

3 3,70 3,78 3,86 3,94 4,02 4,10 4,18 4,26 4,34 4,42

4 3,74 3,82 3,90 3,98 4,06 4,14 4,22 4,30 4,38 4,46

5 3,78 3,86 3,94 4,02 4,10 4,18 4,26 4,34 4,42 4,50

6 3,82 3,90 3,98 4,06 4,14 4,22 4,30 4,38 4,46 4,54

Sin Timbrar

Sin Timbrar

2,65

Figura I.3.1 Tabla de tarifas para Bolsa de plstico transparente con galga<100.

Ahora se puede ver cmo con los parmetros porcentaje de superficie a pintar (%Masa) y nmero de tintas a usar (Tinta) determinamos la tarifa del producto Bolsa de plstico transparente con galga<100. Ser interesante establecer una terminologa para referirse a los distintos valores que se muestran en las tablas y a los valores que intervienen en su clculo. Ser interesante su asignacin a la hora de de explicar el funcionamiento de la aplicacin de partida. En esta tabla podemos aprehender uno de los trminos importantes y al que se referir mediante el nombre tarifa. El valor que recoge este trmino es lo que cuesta fabricar un producto elegido y pintado con un nmero de tintas determinado sobre una superficie tambin determinada. En el caso del ejemplo mostrado en la tabla de la

48

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

Planteamiento del problema figura I.3.1, la tarifa marcada corresponde al producto Bolsa de plstico transparente con 5 tintas y 60% de superficie a imprimir.

I.3.1.2 Venta de los productos


Como se ha dicho, la empresa tiene un catlogo de productos para los que tiene almacenado su precio segn sus caractersticas. Esta empresa ofrece sus productos a otras empresas a travs de agentes comerciales pertenecientes a la misma empresa. El modo de actuacin de estos agentes es descubrir las necesidades del cliente y ofrecer el producto que se ajusta mostrando un presupuesto. Para obtener el presupuesto de un producto, los comerciales se basan en una hoja de clculo donde se tienen almacenados los valores de los productos (para un mayor detalle de la estructura de esta hoja de clculo, consultar captulo quinto, Anlisis de los datos de partida). El procedimiento que deba seguir un agente comercial es el siguiente: Obtener la hoja de clculo con las ltimas actualizaciones del disco duro del ordenador de la persona que gestiona tal hoja de clculo y almacenarlo en algn dispositivo porttil (p.ej.: memoria USB). Una vez en el establecimiento del cliente necesita un ordenador donde tenga los permisos suficientes para acceder a su dispositivo de almacenamiento y tenga instalado Microsoft Excel para poder acceder a los datos de su hoja de clculo. Consultar la hoja de clculo introduciendo los parmetros oportunos. Presentar la informacin al cliente.

Es evidente que esta forma de proceder tiene varios inconvenientes siendo el acceso a los datos el principal. Sera deseable que todos los agentes comerciales tuvieran acceso a la misma informacin en todo momento, adems de un acceso ms cmodo a la informacin de inters.

I.3.2 Planteamiento del problema


Una vez que se conoce cmo funciona la venta de productos, se conocen las limitaciones que tiene tal procedimiento. Estas limitaciones son las que hacen surgir el problema, es decir, la necesidad de alcanzar una nueva solucin. Desde un punto de vista global, nuestra aplicacin debe tener la funcionalidad de permitir acceder a cualquier persona dedicada a la venta (los agentes comerciales) a un sistema de datos donde se pueda hacer una consulta sobre el precio de cualquiera de los productos que fabrica tal empresa. Se pretende que cada agente comercial est previsto de un dispositivo mvil con capacidad de conexin a Internet, que en nuestro caso ser un PocketPC (QTek S100 [39]), con capacidad de navegacin Web y acceso a internet mediante GPRS. Se quiere conseguir que el agente sea capaz de obtener los presupuestos que obtena con el procedimiento anterior haciendo ahora uso de su dispositivo mvil.

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

49

I Memoria Mediante una pgina Web o una aplicacin que se conecte a Internet, se debe tener acceso a los datos de tarifas que estarn centralizados en algn ordenador. Adems, se debe poder actualizar los datos de tarifas en cualquier ordenador de la empresa. La persona que se dedicaba a actualizar los datos de la hoja de clculo segn el procedimiento anterior, debe seguir teniendo la capacidad de actualizarlos mediante alguna interfaz. Debido a que el trfico de datos que genere el dispositivo mvil tiene un coste asociado, se tiene un requisito adicional: se debe minimizar el trfico de datos generado por el dispositivo mvil. Con vistas a poder usar cualquier dispositivo mvil dotado de navegador Web, se plantea otro requisito: se debe descargar al dispositivo mvil de carga computacional. Dado que el manejo de la aplicacin a desarrollar se har tanto desde un dispositivo mvil como desde un ordenador personal, la presentacin de la aplicacin debe ser tal que se adapte tanto a la pantalla pequea del dispositivo mvil como a la pantalla del ordenador personal, adems de conseguir un uso sencillo.

I.3.3 Alternativas
Es el momento de plantear todas las posibilidades que tenemos para llevar a cabo el proyecto. Es imprescindible conocer los elementos que condicionan las posibles alternativas como pueden ser los requisitos de la empresa y la funcionalidad que se pretende conseguir. Hasta ahora lo que se puede sacar de los datos y requisitos planteados es que se necesita una base de datos y comunicacin entre el equipo que almacene la base de datos y los equipos de los usuarios que quieran hacer uso de ella. La empresa dispone de un alojamiento Web contratado que ofrece un servidor de bases de datos (Microsoft SQL Server 2000) y un servidor Web con soporte a una de las tecnologas estudiadas, concretamente ASP y algunos componentes (explicados en el captulo segundo, Fundamentos tericos): ASPGRID ASPULOAD ASPUTILS ASPEMAIL CSIMAGEFILE

Es posible cambiar de servicio contratado incluso de compaa suministradora del servicio siempre que se proporcionan al menos los servicios que ya se tienen (pgina Web corporativa). Hay que tener en cuenta que el precio del servicio contratado es de 222 y que la renovacin del servicio para el siguiente ao es de 580.

50

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

Planteamiento del problema Antes de plantear las alternativas estableceremos nuestros criterios para distinguir la mejor alternativa. Posteriormente se enumerarn las alternativas consideradas.

I.3.3.1 Criterios de comparacin


Una alternativa puede ser buena o mala dependiendo del punto de vista, o mejor dicho, de los criterios de comparacin. Ser fundamental establecer qu criterios son los que se van a usar para calificar las alternativas. En nuestro caso las evaluaremos segn los siguientes puntos que se comentarn posteriormente: Software necesario Si es gratuito o necesita licencia Si se puede tener un entorno de pruebas local Si nos permite alcanzar los objetivos de la aplicacin

En cuanto al software necesario se prestar atencin a la facilidad de encontrar el software necesario para desarrollar la aplicacin con la alternativa planteada. Adems se tendr en cuenta en qu medida las herramientas existentes facilitan el desarrollo. No es lo mismo tener simplemente un editor de textos que tener un entorno de desarrollo. En el primer caso ser ms incmodo desarrollar la aplicacin. Se escoger preferentemente aquella alternativa donde el software necesario sea gratuito. Es muy interesante que se pueda crear un entorno de pruebas que simule el entorno final donde se alojar la aplicacin. En el caso de una aplicacin Web, un entorno de pruebas consistira en tener un servidor Web corriendo en el ordenador donde se desarrolle la aplicacin adems de un entorno de desarrollo que nos permita modificar los archivos y hacerlos accesibles desde el servidor Web. Todas las alternativas planteadas deberan permitirnos alcanzar los objetivos de la aplicacin. Para asegurarse de ello se reflexionar sobre este punto.

I.3.3.2 Alternativas consideradas


A la hora de resolver el problema planteado se tienen mltiples alternativas, pero bsicamente se pueden dividir en dos formas distintas de resolverlo. La primera forma es mediante una aplicacin que gracias al acceso a Internet se comunique con los equipos que intervengan. La segunda forma consiste en crear una aplicacin que se acceda a travs de una pgina Web. La resolucin mediante una aplicacin se puede realizar utilizando cualquier lenguaje de programacin, entre ellos por ejemplo el conocido lenguaje Java o Microsoft .NET pero siempre en las versiones reducidas (Java Micro Edition, Microsoft .NET Compact Framework) ya que debe correr sobre un PocketPC, que no soporta las versiones completas. El resultado sera un ejecutable que se debera instalar en la mquina que fuera a utilizar la aplicacin, en nuestro caso un PocketPC y un PC.

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

51

I Memoria Obedeciendo a la segunda forma se utilizara cualquier lenguaje de programacin Web como puede ser PHP, ASP, JSP, PERL, etc, comentados en el captulo segundo, Fundamentos tericos. El resultado sera una serie de pginas que se alojaran en un servidor Web ya sea o bien propio o bien alquilado (como sera nuestro caso). Los resultados que se obtendran con ambos mtodos seran similares. El usuario o bien ejecutara la aplicacin o bien accedera a una pgina Web y de esta manera accedera a la aplicacin. Las ventajas de usar una aplicacin Web es que al usar lenguajes ejecutables en el servidor, el terminal queda descargado de cualquier carga computacional que pueda requerir la aplicacin. Adems se podra acceder desde cualquier terminal que se usara sin necesidad de tener que hacer ningn tipo de instalacin. Por estas razones se descarta el desarrollo de una aplicacin y se consideran slo las tecnologas de desarrollo Web. Se podran considerar todas las posibles tecnologas Web, pero ya que todas son similares se prestar atencin a las opciones ms populares y tambin las que se ofrecen ms frecuentemente en los alojamientos Web, que son ASP, JSP y PHP. En cuanto a la base de datos hay una gran variedad y se podra usar cualquiera de las existentes independientemente de si desarrollamos una aplicacin o una aplicacin Web. Por al misma razn consideraremos las ms populares (MySQL, PostgreSQL) y tambin la que dispone el alojamiento Web que tiene contratado la empresa (Microsoft SQL server 2000). En lo siguiente se analizarn las tecnologas Web en funcin de los criterios de comparacin expuestos para finalmente decidir qu tecnologa es la mejor. Igualmente se har con las bases de datos.

I.3.3.3 Desarrollo con ASP


I.3.3.3.1 Necesidades Entorno de pruebas para probar las pginas creadas. Slo necesitamos un servidor de pginas Web que soporte ASP. IIS (Internet Information Server, servidor de informacin de internet): Se distribuye con la versin Professional del S.O. Windows XP Apache: es un servidor gratuito y tambin se puede configurar para dar soporte ASP.

Opcionalmente se puede tener un entorno de desarrollo para facilitar el diseo: Visual InterDev: Requiere licencia. Se puede obtener una versin de evaluacin. Visual Studio: Es el entorno de programacin para Visual C#, Visual C++ y Visual Basic. Tambin permite el desarrollo de proyectos ASP. No es gratuito, aunque existe una versin llamada Express que es gratuita. Editor de textos potente: Por ejemplo UltraEdit, Emacs, etc. El primero no es gratuito pero s el segundo.

52

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

Planteamiento del problema Soporte de bases de datos: Controlador ODBC (Open DataBase Conectivity, conectividad a bases de datos abierta): Se distribuye junto con la base de datos. Se puede acceder a cualquier base de datos.

I.3.3.3.2 Herramientas disponibles El alojamiento Web que se tiene contratado ofrece componentes ASP para facilitar la programacin ASP (ver captulo segundo Fundamentos Tericos). Todos estos componentes se pueden usar aunque slo se puede conseguir de manera gratuita versiones de evaluacin de 30 das. I.3.3.3.3 Conclusiones El entorno de pruebas se puede obtener de forma gratuita si se tiene ya como sistema operativo Windows XP Professional Edition o bien si se instala el servidor Apache. Para el entorno de desarrollo existe una versin gratuita para programadores as que se podra conseguir. Aunque el software necesario para usar los componentes adicionales slo se puede conseguir de forma gratuita en forma de software de prueba con limitacin a 30 das. Por tanto, esta tecnologa rene las caractersticas suficientes para poder desarrollar la aplicacin que buscamos. Se puede ver el resumen de esta tecnologa para conocer los rasgos que la caracterizan en el captulo citado al principio del apartado. Adems ASP da acceso a bases de datos como Microsoft SQL server 2000, de manera que si se eligiera ASP y esta base de datos no se tendra que cambiar de alojamiento Web.

I.3.3.4 Desarrollo con JSP


I.3.3.4.1 Necesidades Entorno de pruebas para probar las pginas creadas. Necesitamos un servidor que tenga capacidad JSP. Apache Tomcat es un servidor gratuito que tiene capacidad Java y da soporte a pginas JSP. Viene incorporado en NetBeans.

Entorno de desarrollo: NetBeans: Es un entorno de desarrollo para programacin Java de cualquier tipo de aplicacin. Es una IDE de libre distribucin. Eclipse: es otro entorno de desarrollo gratuito.

Soporte de bases de datos:

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

53

I Memoria Controladores ODBC: Se distribuye junto con la base de datos. Controladores JDBC: Controladores de libre distribucin para bases de datos no Microsoft. Por ejemplo, MySQL, PostgreSQL, de libre distribucin.

I.3.3.4.2 Conclusiones El entorno de pruebas es gratuito y adems es nuestro entorno de desarrollo. NetBeans integra tanto el servidor Web como el entorno de desarrollo. NetBeans es de libre distribucin. Es un software de Sun Microsystems. Se puede obtener en la pgina oficial de Sun [40]. JSP se basa en Java, lo que da una gran flexibilidad al desarrollo de cualquier aplicacin, adems de obtenerse una aplicacin independiente de plataforma. Con JSP se puede usar cualquier base de datos para integrarla en nuestra aplicacin, ya que es posible usar ODBC. Es una tecnologa apta y gratuita para el desarrollo de la aplicacin que nos trae entre manos. Aunque se debe comentar que no hay muchos servidores de alojamiento Web que ofrezcan soporte JSP. Adems, al ser JSP simplemente una API de Java, en las aplicaciones desarrolladas con JSP se puede utilizar cualquier otra API de Java incluida en J2EE o J2SE (segn la edicin de Java que se use).

I.3.3.5 Desarrollo con PHP


I.3.3.5.1 Necesidades PHP y su manual se encuentran disponibles bajo licencia GPL. Entorno de pruebas: Servidor Web Apache: servidor Web Apache que incorpore las caractersticas PHP o admitir mdulos dinmicos. Es de libre distribucin. Tambin se puede adaptar IIS para funcionar con PHP, pero existiendo Apache como servidor Web es preferible antes que IIS.

Entorno de desarrollo: Editor de textos potente: Por ejemplo Emacs es gratuito. PHP Designer: Es uno de los posibles entornos de desarrollo que se pueden encontrar gratuitos [45].

Soporte de bases de datos: Existe soporte para MySQL, PostgreSQL, mSQL, Informix, Internase, SQL Server, Oracle, Solid, Sybase o trabajar con fichero DBF.

54

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

Planteamiento del problema Se puede enviar correo electrnico o bien leyendo los datos del cliente en un formulario Web, o bien ejecutando una aplicacin de correo en el propio cliente. Tambin permite la transferencia de ficheros HTTP y proporciona una serie de funciones para poder dialogar con un servidor FTP y realizar las operaciones habituales. Se puede decir que el propio lenguaje incorpora gran cantidad de funciones de utilidad. I.3.3.5.2 Conclusiones El entorno de pruebas es de fcil instalacin y los programas necesarios se pueden conseguir gratuitamente. Como entorno de desarrollo se pueden encontrar varios gratuitos, entre ellos PHP Desginer. Adems se puede usar editores de texto potentes que facilitan la programacin. PHP da soporte a correo electrnico y subida y descarga de ficheros sin necesidad de mdulos ni componentes como es el caso de ASP. Slo hace falta tener la versin compilada de PHP adecuada. Es independiente de la plataforma. Tambin se puede desarrollar tanto en Windows como en Linux.

I.3.4 Eleccin de la mejor alternativa


La eleccin de la tecnologa a usar se basa en si cumplen los objetivos marcados descritos ms arriba.

I.3.4.1 Tecnologa de desarrollo Web


Para las tres tecnologas consideradas se satisfacen los objetivos buscados, a excepcin de ASP que presenta el inconveniente de no poder obtener el software necesario de forma gratuita (los componentes). Teniendo en cuenta que el software necesario para usar las otras dos alternativas es gratuito, se puede descartar ASP como una de las tecnologas a usar. Las dos restantes sern igualmente vlidas. Podramos aadir como criterios de evaluacin para elegir entre las dos tecnologas que cumplen los objetivos de partida los siguientes: Facilidad de aprendizaje. Estandarizacin de la tecnologa para evitar incompatibilidades. Independencia de plataforma.

Aunque hemos excluido ASP como alternativa, tambin la incluiremos en la comparacin:

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

55

I Memoria ASP se programa en VBScript, que es muy sencillo de aprender. Incluso se podra decir que ms sencillo de aprender que Java o, an ms, PHP. De todas formas PHP no es difcil de aprender. Java es algo ms complicado que PHP o VBScript. La mayora de los servidores de alojamiento Web dan soporte a ASP y a PHP, no estando tan extendido el soporte a JSP. Tanto PHP como JSP son independientes de la plataforma, mientras que ASP no.

Por tanto, pese a la facilidad de aprender a programar para desarrollar aplicaciones en ASP y estar ampliamente extendido, el no proporcionar software gratuito (al menos proporciona versiones de prueba) hace que esta alternativa sea la ltima que seleccionaramos. Entre PHP y JSP, ambas son independientes de plataforma y de software gratuito. El aprendizaje quizs sea algo ms sencillo y sobre todo el manejo de PHP es ms intuitivo. Aunque PHP quizs no sea tan potente como Java, permite desarrollar multitud de funcionalidades. Concluimos, segn los criterios expuestos exceptuando el criterio de condiciones de partida, el orden de eleccin de las alternativas contempladas sera PHP, JSP y como ltima ASP. Las condiciones de partida dan ventaja a la ltima tecnologa de nuestra lista, ya que se dispone de un servicio de hosting que nos da alojamiento Web con soporte ASP y algunos componentes. En el caso de que el software necesario para desarrollar ASP no fuera bajo licencias, sera nuestra mejor alternativa dada su sencillez y a que se dispone ya de un hosting con este servicio.

I.3.4.2 Base de datos


Respecto a las bases de datos, el criterio que nos sirve para evaluar es si es gratuito o no la obtencin del software. Con esta opcin MS SQL Server queda descartada. Entre MySQL y PostgreSQL la diferencia es la velocidad de MySQL frente a la robustez de PosgreSQL. No obstante, nuestra aplicacin no va a requerir grandes flujos de datos. Por tanto, MySQL ser la eleccin preferente.

I.3.4.3 Tecnologas adoptadas


Se resume en la tabla de la figura I.3.2 las tecnologas elegidas para el desarrollo de la aplicacin.

56

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

Planteamiento del problema Eleccin final Tecnologa para el desarrollo de la aplicacin Web Base de datos Tecnologa para presentacin de la informacin

PHP MySQL CSS

Figura I.3.2 Tabla resumen de las tecnologas seleccionadas para el desarrollo del proyecto

Con estas tecnologas se ser capaz de desarrollar una aplicacin Web escrita en lenguaje PHP y que podr tener acceso a una base de datos donde estarn almacenados los datos de inters. La informacin que arroje nuestra aplicacin al cliente le ser presentada mediante el navegador Web siguiendo el estilo diseado mediante nuestra tecnologa de presentacin de la informacin, CSS. Para ms informacin de estas tecnologas se recomienda consultar el captulo segundo, Fundamentos tericos.

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

57

I Memoria

58

Conversin de aplicacin empresarial para permitir el acceso remoto usando PocketPC y PC

También podría gustarte