Académique Documents
Professionnel Documents
Culture Documents
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.
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
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.
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.
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
Planteamiento del problema Antes de plantear las alternativas estableceremos nuestros criterios para distinguir la mejor alternativa. Posteriormente se enumerarn las alternativas consideradas.
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.
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.
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
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.
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.
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).
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
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.
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.
56
Planteamiento del problema Eleccin final Tecnologa para el desarrollo de la aplicacin Web Base de datos Tecnologa para presentacin de la informacin
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.
57
I Memoria
58