Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
INS Esc STITUT uela Supe Desarr Comerc Que p Ingeniero P R E Hug In M. TO POLI rior de Ing rollo de un cio Electró T E para ob o en Comu E S rnesto Ad go Miguel Julio V A s e ng. Catalin en C. Rob ITÉCNI geniería M na aplicaci ónico enfo S I tener el unicacione E N rián Lópe Morales H Vega Chac s o r e na Patiño G berto Galic ICO NA Mecánica y ión Web p ocada a Py S l título d es y Electr T A ez Cortés Hernández cón s : Gallegos cia Galicia CIONAL y Eléctrica para MES de: rónica N z L a INSTITUTO ITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA y ELECTRICA UNIDAD PROFESIONAL HADOLFO LOPEZ MATEOS" rrEMA DE TESIS QUE PARA OBTENER EL TIT JLO DE INGENIERO EN COMUNICACIONES Y ELECTRÓNICAPOR LA OPC ON DE TITULACION TESIS COLECTIVA y EXAMEN ORAL INDIVIDUALDEBERA(N) DESARROLLAR C. ERNESTO ADRIÁN LÓPEZ CORTÉS C. HUGO MIGUEL MORALES HERNÁNDEZ C. JUL10 VEGA CHACÓN "DESARROLLO DE UNA APLlCACIÓN WEB PARA COMERCIO ELECTRÓNICO ENFOCADA A PYMES" DISEÑAR UNA APLICACIÓN WEB LA CUAL CONTENGA UNA INTERFAZ SENCILLA DE MANIPULAR, PUDIENDO ASÍ REALIZAR MODIFICACIONES DE PRODUcrOS, IMÁGENES, E INCLUSO PRECIOS. AcrUALIZANDO EN TIEMPO REAL LA PAGINA WEB DE UNA MANERA CÓMODA Y RÁPIDA, LO ANTERIOR CON EL NFOQUE A LAS PYMES (MICRO, PEQUEÑAS Y MEDIANAS EMPRESAS). • DEFINICIÓN DEL PROBLEMA • OBJETIVO • JUSTIFICACIÓN DELPROYEcrO • COMERCIO ELECTRÓNICO • SELECCIÓN DE LA PLATAFORMA TECNOLÓGICA • ANÁLISIS Y DISEÑO DE LA APLICACIÓN E-COMMERCE • DISEÑO DE PRUEBAS DEL SISTEMA • IMPLEMENTACIÓN DEL SISTEMA • RESULTADO, T RABAJO A FUTURO Y CONCLUSIONES • BIBLIOGRAFÍA • GLOSARIO MÉXICO D.F. 8 DE JUNIO DE 2011. ASESORE S - ) , ~ " ':'.. '.' r . ;;, M. EN C. SALVADOR CARD NESES GONZÁLEZ .( JEFE DEL DEPARTAMENT CADÉMIC6J)El ¡Ir b INGENIERÍA EN COMUNICACIO y ELECllmNícfA i Índice Prefacio v Capítulo 1. Comercio Electrónico 1 1.1 Antecedentes de comercio 2 1.2 Internet y comercio en la actualidad 3 1.3 Definición de Comercio Electrónico 3 1.4 Ventajas y desventajas de Comercio Electrónico para PyMES 3 1.4.1 Ventajas y desventajas enfocadas en el usuario final 3 1.4.2 Ventajas y desventajas para la empresa 4 1.5 Tienda Virtual para PyMES 4 1.5.1 Definición 4 1.5.2 Ventajas y desventajas 5 1.5.3 Características de la Tienda Virtual para PyMES 5 Capítulo 2. Selección de la plataforma tecnológica 7 2.1 Tecnologías actuales 8 2.1.1 Lenguajes de Script 8 2.1.2 Tecnologías de aplicaciones dinámicas 10 2.1.3 Bases de datos 12 2.2 Herramientas seleccionadas 16 2.2.1 ASP.NET 16 ii 2.2.2 SQL Server 17 2.3 Costos de proyecto 17 2.3.1 Hospedaje 17 2.3.2 Costos 19 2.3.3 Disponibilidad 22 2.3.4 Selección 22 2.4 Análisis del costo neto de la aplicación 22 2.4.1 Costo estimado de ingreso anual 23 2.4.2 Horas no vendibles ¡Error! Marcador no definido. 2.4.3 Gastos fijos ¡Error! Marcador no definido. 2.4.4 Ganancia o utilidad ¡Error! Marcador no definido. 2.4.5 Costo final ¡Error! Marcador no definido. Capítulo 3. Análisis y diseño de la aplicación de la Tienda Virtual para PyMES 30 3.1 Arquitectura de un sistema de Comercio Electrónico 31 3.2 Diseño de la base de datos 31 3.2.1 Diagrama de flujo de datos (DDF) 31 3.3 Diseño del sistema 33 3.4 Sistema de administración de bases de datos 33 3.5 Diseño de la base de datos relacional 34 3.5.1 Interfaces 38 3.6 Diseño de las interfaces 44 iii 3.6.1 Interfaz usuario 44 3.6.2 Interfaz administrador 45 3.6.3 Diseño de las clases 46 3.6.4 Desarrollo 47 Capítulo 4. Diseño de pruebas del sistema 54 4.1 Página de inicio 55 4.2 Presentación de la Tienda Virtual 55 4.3 Presentación de los proyectos elaborados, imágenes dinámicas (banners) 56 4.4 Menú principal 56 4.5 Menú secundario 59 4.6 Carrito de compras 60 4.6.1 Administración de la Tienda Virtual para PyMES 60 Capítulo 5. Implementación del sistema 62 5.1 Servidor (Hosting) 63 Capítulo 6. Resultados, trabajo a futuro y conclusiones 65 6.1 Resultados 66 6.2 Trabajos a futuro 66 6.3 Conclusiones 66 Glosario 68 Referencias 74 Índice de ilustraciones 76 Índice de tablas 78 iv v Prefacio vi En la actualidad existen en Internet, diversos tipos de Tiendas Virtuales, que permiten realizar Comercio Electrónico, esta forma de hacer comercio se hace cada vez más común, ya sea por la necesidad de abarcar diferentes mercados, y por los rápidos avances tecnológicos que marcan la necesidad de ser utilizados. Una Tienda Virtual representa el intento de trasladar la forma tradicional de realizar comercio y realizarlo por Internet. Sin embargo, como ya han intuido muchos, el cambio que se está realizando es grande y rápido, por lo que ya no se debe de conformar con sólo realizar Comercio Electrónico, sino que se puede realizar Negocios Electrónicos (e‐business). Definición del problema Desde tiempos remotos, el comercio ha sido un factor importante en la economía y desarrollo de cada país. Con los avances tecnológicos que tenemos en la actualidad, el comercio ha provocado cambios dramáticos en las estructuras existentes de negocios, incluso en aquellas que parecían perpetuarse. El Comercio Electrónico, es básicamente el uso de la red de redes mejor conocida como Internet, para realizar la totalidad de actividades involucradas en la gestión de negocios: ofrecer y demandar productos y servicios, buscar socios y tecnologías, hacer negociaciones con su contraparte, seleccionar el transporte y los seguros que más convengan, realizar los trámites bancarios, pagar, cobrar comunicarse con los vendedores de su empresa, recoger los pedidos, es decir, todas aquellas operaciones que requiere el comercio, pero de una manera virtual y con un ahorro de tiempo importante. Se puede observar que la tecnología avanza a pasos agigantados, mientras que el conocimiento para la mayoría de personas con empresas y/o negocios, se ve afectado, ya que desgraciadamente no cuentan con una preparación previa en sistemas de computación. Debido al auge que se encuentra viviendo el comercio, la comunicación por Internet es necesaria, se suscita la problemática de realizar aplicaciones, facilitando a los dueños de dichos comercios la forma de manipular, actualizar y modificar su información, sin la necesidad de tener amplios conocimientos en programación y diseño de Sitios Web. vii Objetivo general En el marco de esta investigación el objetivo es, diseñar una aplicación Web, la cual contenga una interfaz sencilla de manipular, pudiendo así realizar modificaciones de productos, imágenes, e incluso precios. Actualizando en tiempo real la Página Web de una manera cómoda y rápida, lo anterior con el enfoque a las Pymes (Micro, Pequeñas y Medianas Empresas). Objetivos específicos Conocer las plataformas que existen actualmente en Internet para Comercio Electrónico. Identificar los factores que inciden negativamente en la actualización de un Sitio Web. Diseñar una aplicación Web para Comercio Electrónico, por medio de la cual el usuario pueda manipular sus productos y agregar características de éstos de manera rápida, cómoda y eficiente, sin tener conocimientos avanzados en informática. Justificación del proyecto Las pequeñas y medianas empresas (PyMES) son entidades independientes, creadas para ser rentables, el número de personas que las conforman no exceden un determinado límite, y como todas las empresas, tiene aspiraciones, realizaciones, bienes materiales y capacidadestécnicas y financieras, todo lo cual, les permite dedicarse a la producción, transformación y/o prestación de servicios para satisfacer determinadas necesidades y deseos existentes en la sociedad. En México, las PyMES constituyen el 90% de las empresas, el 42% del empleo, y contribuyen con un 23% del producto interno bruto (PIB). Están definidas por el número de empleados con los que cuenta la empresa. En el artículo 3ro. De la Ley para el Desarrollo de la Competitividad de la Micro, Pequeña y Mediana Empresa del año 2011, se establecieron los parámetros que se muestran en la tabla A.1: viii Sector/No. De trabajadores Industria Comercio Servicios Micro 0‐10 0‐10 0‐10 Pequeña empresa 11‐50 11‐30 11‐50 Mediana empresa 51‐250 31‐100 51‐100 Tabla A.1: Relación del número de empleados por tamaño de empresa Uno de los avances tecnológicos que se crearon a partir del crecimiento del medio llamado Internet y que se usa con normalidad actualmente, es el comercio electrónico, del cual su más importante aplicación se encuentra en las Tiendas Virtuales. Existen Tiendas Virtuales nacionales y transnacionales en Internet, por ejemplo la Tienda Virtual llamada Amazon, es una Tienda Virtual transnacional que fue una de las primeras compañías en vender bienes a través de Internet. Este trabajo se fundamenta en la necesidad de desarrollar una Tienda Virtual enfocada a PyMES, que sea rápida y fácil de administrar sin contar con conocimientos avanzados en computación, generando beneficios expresados en la actualización en tiempo real de un Sitio Web. Alcances y limitaciones Un alcance importante que se desea obtener en el desarrollo de esta aplicación, es poder ofrecer una herramienta informática de uso sencillo, para que cualquier persona que tome una capacitación básica en el uso de la aplicación pueda operar satisfactoriamente la Tienda Virtual. Para poder operar correctamente la Tienda Virtual es necesario saber: Acceder a la aplicación Tienda Virtual Escribir nombre de usuario y contraseña Agregar, eliminar y editar productos La limitación es que, la aplicación esta únicamente enfocada para las PyMES, esto hace que no se pueda implementar a sectores de mayor infraestructura. ix Herramientas a utilizar Hardware Para el desarrollo de la aplicación se empleará una PC (Computadora Personal), con las siguientes características: Procesador Core 2 Duo 2.6 GHz Memoria RAM 2 GB – DDR3 Disco Duro de 160 GB de capacidad Unidad de DVD RW / CD RW 3 Puertos USB Tarjeta de Red Inalámbrica Tarjeta de Red Ethernet Monitor LCD 17” Para la implementación de la aplicación en la red: IIS (Internet Information Server). Software Las plataformas que se utilizarán para desarrollar y programar la Aplicación Web son las siguientes: Visual Studio Professional 2008 Dreamweaver CS4 Photoshop CS4 Flash CS4 SQL Server 1 Capítulo 1. Comercio Electrónico Capítulo 1. Comercio Electrónico 2 1.1 Antecedentes de comercio Históricamente, el comercio es una actividad ancestral del ser humano, que ha evolucionado de muchas maneras. Inicialmente, el trueque fue un intercambio de objetos o servicios por otros objetos o servicios, diferenciándose de la compra‐venta tradicional en que no aparece el dinero. El trueque apareció cuando se necesitaban objetos y para obtenerlos, las intercambiaban por objetos que se tenían. Más tarde con la aparición de la moneda, ya los objetos se intercambiaban por la moneda. Por el año 1920 en Estados Unidos apareció la venta por catálogo, impulsado por las grandes tiendas de mayoreo. Este sistema de venta, revolucionario para la época, consiste en un catálogo con fotos ilustrativas de los productos a vender. Al inicio de los años 70’s, aparecieron las primeras relaciones comerciales que utilizaban una computadora para transmitir datos. Este tipo de intercambio de información, sin ningún tipo de estándar, trajo consigo mejoras de los procesos de fabricación en el ámbito privado, entre empresas de un mismo sector. Es por eso que se trataron de fijar estándares para realizar este intercambio, el cual era distinto respecto a cada industria. A mediados de los 80’s, con la ayuda de la televisión, surgió una nueva forma de venta por catálogo, también llamada venta directa. De esta manera, los productos eran mostrados con mayor realismo, y con la dinámica de que podían ser exhibidos resaltando sus características. La venta directa era concretada mediante un teléfono, y usualmente con pagos asociados a tarjetas de crédito. El desarrollo tecnológico y de las telecomunicaciones, hizo que los intercambios de datos crecieran a niveles extraordinarios, simplificándose cada vez más y creando nuevas formas de comercio, y en este marco se desarrolló el Comercio Electrónico. La historia del Comercio Electrónico, comenzó hace más de dos décadas por parte de las empresas, con la introducción del intercambio electrónico de datos (EDI), el que se dio entre firmas comerciales, con el envío y recepción de pedidos, información de reparto y pago, etc. de igual modo, el Comercio Electrónico que está orientado al consumidor no tiene pocos años, porque se tiene conocimiento de lo que es un cajero automático o una tarjeta de crédito, así cada vez que se hace uso de una de estas modalidades, se está realizando una transacción de Comercio Electrónico. Capítulo 1. Comercio Electrónico 3 1.2 Internet y comercio en la actualidad La revolución de Internet, ha conducido a una revisión fundamental de las estrategias de planificación comercial, de las empresas en todo el mundo. Para las grandes empresas, es inconcebible no tener su Sitio Web para mostrar sus productos. La presencia en línea se ha convertido en una necesidad comercial, incluso para las pequeñas empresas. En 1999, Estados Unidos representaba más del 70% de los Sitios Web comerciales en todo el mundo, y los propietarios de esos sitios generaban más del 90% de los ingresos mundiales. En cambio, ese mismo año los ingresos del Comercio Electrónico en Latinoamérica y la región de Asia‐Pacífico, representaron apenas un poco más del 2% del total. Si hay algo en lo que Internet se diferencia, absolutamente del resto de los medios y herramientas de comunicación comercial, es en su capacidad de medir exhaustivamente la eficacia de las acciones que la empresa desarrolla, para mejorar la relación con sus clientes. El Comercio Electrónico es el nuevo marco de negocios, en el que se desarrollan cada vez más operaciones mercantiles. En él, convergen tecnologías y aplicaciones que ya existían aisladamente, y otras nuevas tan dispares como el intercambio electrónico de datos, el teletrabajo, la publicidad en Internet, la Intranet o las compras electrónicas, pero que tienen en común el uso de las telecomunicaciones. 1.3 Definición de Comercio Electrónico El Comercio Electrónico, también conocido como e‐commerce, consiste en la compra o venta de productos o servicios a través de Internet e Intranet. 1.4 Ventajas y desventajas de Comercio Electrónico para PyMES 1.4.1 Ventajas y desventajas enfocadas en el usuario final Ventajas Es posible encontrar un mismo producto a diferentes precios. Permite realizar una negociación directa con un vendedor en cualquier parte del mundo. Adaptabilidad al mercado. Vista previa del producto a adquirir. Comparación de productos y análisis de sus características.Capítulo 1. Comercio Electrónico 4 Desventajas Dificultad para establecer una comunicación en persona, en el caso de que el producto esté defectuoso o para alguna reclamación. Se pierde la capacidad de compra del producto, que está en comercialización, por falta del conocimiento y la visión física del producto. Únicamente se observan mediante fotos o videos. 1.4.2 Ventajas y desventajas para la empresa Ventajas Es posible realizar la compra y venta de productos sin la necesidad de tener una oficina física. Elimina días muertos por causas de huelga, días festivos y/o vacaciones. Genera mayores ganancias por venta unitaria de un producto. Desventajas Menor interacción entre el vendedor y el comprador, ya que en ocasiones las empresas, prefieren dar un trato personal. 1.5 Tienda Virtual para PyMES 1.5.1 Definición Una Tienda Virtual es un sitio hospedado en Internet, donde se puede mostrar y vender productos o servicios. Por medio de una Tienda Virtual, los clientes pueden seleccionar y comprar los productos directamente del catálogo, que se ofrecen en el Sitio Web, desde cualquier computadora, ya sea desde su casa o su trabajo. Se muestran imágenes, precios y detalles específicos de cada producto que se encuentra en el catálogo. Capítulo 1. Comercio Electrónico 5 1.5.2 Ventajas y desventajas Ventajas Tiene la capacidad de ofrecer un número ilimitado de productos. No hay necesidad de visitar la tienda físicamente, sólo basta con conocer la dirección del Sitio Web. Personalizar la venta del producto o servicio. Desventajas Es necesario el soporte técnico, para realizar las actualizaciones de los productos. Si existen problemas en el Sitio Web, es posible que la Tienda Virtual no muestre el producto. Problemas en la conexión a Internet, tanto del vendedor como del comprador, podría no concretar la compra‐venta. 1.5.3 Características de la Tienda Virtual para PyMES Las siguientes características son necesarias e indispensables, para poder realizar una Tienda Virtual enfocada, tanto en los clientes, como en el vendedor. Interfaz Personalización Sin límite de productos Administración de usuarios Administración de productos Interfaz. Es necesaria, para poder tener una presentación óptima de la Tienda Virtual, ya que depende de la interfaz gráfica, que es lo que los clientes aprecian, una Tienda Virtual cómoda para la búsqueda de productos y la presentación de ellos, hace más confiable la compra. Personalización. Radica en la forma en que los propietarios de la Tienda Virtual pueden personalizar mediante las plantillas agregadas, desde la forma de presentar sus productos, y hasta el ambiente virtual, de esta manera damos la oportunidad, de que los propietarios logren una mayor presencia en la página Web de la Tienda Capítulo 1. Comercio Electrónico 6 Virtual; con esto queremos lograr, que una tienda no sea igual a otra, dentro del diseño gráfico y la presentación de las mismas. Sin límite de productos. Realizando el análisis de mercado, se puede dar cuenta que la otras herramientas Web enfocadas al Comercio Electrónico, pone límites en cuanto a los productos, que pueden subir a la base de datos, éste es un aspecto muy importante, ya que se propone el no tener límite en cuanto a la cantidad de productos, con esto se quiere crear ventaja ante la competencia. Administración de usuarios. La persona encargada de administrar la Tienda Virtual tiene todo el control sobre la aplicación, es decir, puede administrar usuarios y productos. Ésta persona puede otorgar permisos de acceso a la Tienda Virtual a quién desee, es recomendable que ésta persona sea el dueño de la Tienda Virtual para que él esté enterado de quién opera la Tienda Virtual cuando él no puedo hacerlo. Administración de productos. Este punto es importante para la Tienda Virtual, ya que, con esto se logre tener control total de los productos, saber que imágenes se quieran subir, para mostrar el producto, las características que se quiere que los clientes vean, estadísticas de venta, entre otras características que permitirán la óptima administración de los productos. 7 Capítulo 2. Selección de la plataforma tecnológica Capítulo 2. Selección de la plataforma tecnológica 8 2.1 Tecnologías actuales En la actualidad, se cuenta con amplia tecnología para realizar una aplicación Web. Existen muchas opciones para escoger, entre las más comunes se tienen, PHP, JSP, ASP, ASP.NET. Se explicarán algunas de las características de estos lenguajes. 2.1.1 Lenguajes de Script HTML, DHTML y XHTML HTML, lenguaje de marcas de hipertexto (HyperText Markup Language), es el lenguaje de marcado predominante para la construcción de páginas Web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos, tales como imágenes. HTML se escribe en forma de "etiquetas", rodeadas por corchetes angulares (<,>). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo Javascript), el cual puede afectar el comportamiento de navegadores Web y otros procesadores de HTML. HTML también es usado, para referirse al contenido del tipo de MIME TEXT/HTML o todavía más ampliamente, como un término genérico para el HTML, ya sea en forma descendida del XML (como XHTML 1.0 y posteriores), o en forma descendida directamente de SGML (como HTML 4.01 y anteriores). Por convención, los archivos de formato HTML, usan la extensión .htm o .html Un ejemplo de un archivo con extensión .html es el que se encuentra en la ilustración 2.1 DHTML o HTML Dinámico (del inglés Dynamic HyperText Markup Language), designa el conjunto de técnicas que permiten crear Sitios Web interactivos, utilizando una combinación de lenguaje HTML estático, un lenguaje interpretado en el lado del cliente (como JavaScript), el lenguaje de hojas de estilo en cascada (CSS) y la jerarquía de objetos de un DOM. Una página de HTML dinámico, es cualquier página Web, en la que los scripts en el lado del cliente cambian el HTML del documento, después de que éste haya cargado completamente, lo cual afecta a la apariencia y las funciones de los objetos de la página. La característica dinámica del DHTML, por tanto, es la forma en que la página Capítulo intera los us En co referir usuar entorn son el progr Perl), parte cliente En un se eje los va así un mient XHTM extens sustitu solam funcio es av semán separa sucesi o 2. Selección de actúa con el uarios. ontraste, el rnos a algun io, en cada no. Este tér l resultado, amación, en el cual gen cliente de e (usualmen a página DH cuta un cód alores del le na modifica tras el usuar ML, acrónim sible de m uir a HTML mente la ve onalidades, anzar en e ntica, dond adas. La ve ivas version la plataforma te usuario cu l término na página e a recarga d rmino no de , bien de la n el servido era la págin un código nte, un nave HTML, una v digo (como enguaje de d ción en la i rio la está v mo en inglé marcado de L como está rsión XML pero cump el proyecto de la infor ersión 1.1 e nes la W3C, ecnológica ando la está más gener específica, q de la págin ebe ser con a ejecución or de la pág na antes de que crea la egador) la v vez que ésta por ejempl definición d información iendo. és de eXten hipertexto ándar para de HTML, le las espec del World rmación, y es similar, p planea rom Ilustración áviendo, si ral "página que es gener na o por v nfundido co de un prog gina Web (c enviarla al a página co visualice. a ha sido ca lo en lengua de la presen n presentad nsible Hype o), es el len las páginas , por lo qu cificaciones, d Wide Web la forma pero parte mper con las n 2.1: Archivo endo la pág Web diná rada de ma valores espe n DHTML. grama en al como por e cliente, o b ompleta, an rgada comp aje JavaScri ntación (por da o el aspe ertext Mark nguaje de Web. En su ue tiene, b , más estric b Consortiu de presen a la especi etiquetas c HTML gina la mism ámica", lo nera difere ecíficos de Estas págin lgún tipo d ejemplo ASP bien de la ej ntes de que pletamente ipt), que tie r ejemplo C ecto visual kup Langua marcado p u versión 1 ásicamente ctas, de XML um, de log ntarla estén ficación en clásicas traíd ma para tod usamos pa nte para ca variables nas dinámic e lenguaje P.NET, PHP jecución en e el program por el clien ene efectos CSS), logran de la págin age (lengua pensado pa 1.0, XHTML e, las mism L. Su objeti grar una W n claramen módulos. E das de HTM 9 dos ara ada de cas de P o n la ma nte, en do na, aje ara es mas vo Web nte En ML. Capítulo 2. Selección de la plataforma tecnológica 10 JavaScript JavaScript es un lenguaje de programación interpretado, es decir, que no requiere compilación, utilizado principalmente en páginas Web, con una sintaxis semejante a la del lenguaje Java y el lenguaje C. Al igual que Java, JavaScript es un lenguaje orientado a objetos propiamente dicho, ya que dispone de Herencia, si bien ésta se realiza siguiendo el paradigma de programación basada en prototipos, ya que las nuevas clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad. Todos los navegadores modernos, interpretan el código JavaScript integrado dentro de las páginas Web. Para interactuar con una página Web, se provee al lenguaje JavaScript de una implementación del DOM. PHP PHP, es un acrónimo recursivo que significa Hypertext Pre‐processor (inicialmente PHP Tools, o, Personal Home Page Tools). PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas WEB dinámicas. Es usado principalmente en interpretación del lado del servidor (server‐side scripting). 2.1.2 Tecnologías de aplicaciones dinámicas Las tecnologías de aplicaciones dinámicas ofrecen una experiencia sofisticada y atractiva que mejora la satisfacción del usuario, las herramientas más populares a la actualidad, son: JSP JavaServer Pages (JSP), es una tecnología Java que permite generar contenido dinámico para Web, en forma de documentos HTML, XML o de otro tipo. Esta tecnología es un desarrollo de la compañía Sun Microsystems. La Especificación JSP 1.2, fue la primera que se liberó y en la actualidad está disponible la Especificación JSP 2.1. Capítulo 2. Selección de la plataforma tecnológica 11 Las JSP's, permiten la utilización de código Java mediante scripts. Además, es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas mediante la utilización de Bibliotecas de Etiquetas (TagLibs o Tag Libraries), externas e incluso personalizadas. C# C# (pronunciado ci sharp en inglés), es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft, como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO. Su sintaxis básica deriva de C/C++, y utiliza el modelo de objetos de la plataforma.NET el cual es similar al de Java, aunque incluye mejoras derivadas de otros lenguajes (entre ellos Delphi). La creación del nombre del lenguaje, C♯, proviene de dibujar dos signos positivos encima de los dos signos positivos de "C++", queriendo dar una imagen de salto evolutivo, del mismo modo que ocurrió con el paso de C a C++. C♯, como parte de la plataforma.NET, está normalizado por ECMA desde diciembre de 2001 (C# Language Specification "Especificación del lenguaje C♯"). El 7 de noviembre de 2005, salió la versión 2.0 del lenguaje que incluía mejoras tales como tipos genéricos, métodos anónimos, iteradores, tipos parciales y tipos anulables. El 19 de noviembre de 2007, salió la versión 3.0 de C# destacando entre las mejoras, los tipos implícitos, tipos anónimos y LINQ (Language Integrated Query ‐consulta integrada en el lenguaje). Aunque C♯ forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones (API); mientras que C♯ es un lenguaje de programación independiente diseñado, para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco de DotGNU – Mono, que genera programas para distintas plataformas, como Win32, UNIX y Linux. .Net .NET es un proyecto de Microsoft, para crear una nueva plataforma de desarrollo de software, con énfasis en transparencia de redes, con independencia de plataforma de hardware, y que permita un rápido desarrollo de aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal, que integre todos sus productos, desde el sistema operativo hasta las herramientas de mercado. Capítulo .NET, negoc Micro propu desarr permi simple En la i 2.1.3 Una b mismo sentid mayor la actu electr que of Existe SGBD, y est admin o 2. Selección de podría con cios en en systems, y uesta es ofre rollar aplic itiendo una e y universa ilustración 2 Bases de base de dat o contexto do, una bib ría por docu ualidad, y d ónica, la m frece un am en program , que permi tructurada. nistración, s la plataforma te nsiderarse u ntornos WE a los diver ecer una ma caciones –o a integració al a todo tip 2.3 se obser Ilu datos tos o banco y almacen blioteca pue umentos y t debido al de mayoría de l mplio rango d mas denomi iten almace Las prop se estudian ecnológica una respue EB, como rsos framew anera rápida como la m ón más ráp po de inform rva el logoti ustración 2.2: L o de datos, nados sistem ede conside textos impr esarrollo tec as bases de de solucion nados siste nar y poste iedades de dentro del á sta de Micr competenci works de de a y económi misma plat pida y ágil mación, desd ipo de Micro Logotipo de Mi es un conj máticament erarse una esos en pap cnológico d e datos está es al proble emas gestor eriormente a e estos SG ámbito de la rosoft al cr ia a la pl esarrollo W ica, a la vez taforma las entre emp de cualquier osoft .Net cu icrosoft .Net unto de da te, para su base de d pel e indexa de campos c án en form ema de alma res de bas acceder a lo GBD, así a informátic reciente me lataforma J WEB basado que segura s denomina presas, y un r tipo de dis uando fue c atos pertene u posterior datos, comp ados para su como la info mato digital acenar dato es de dato os datos de como su ca. ercado de l Java de Su os en PHP. a y robusta, a, solucione n acceso m spositivo. reado. ecientes a u uso. En es puesta en u consulta. E ormática y (electrónic os. s, abreviad forma rápi utilización 12 los un Su de es– más un ste su En y la o), dos da y Capítulo 2. Selección de la plataforma tecnológica 13 Las aplicaciones más usuales, son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos, con el objeto de almacenar la información experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellosse encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos personales se encuentran protegidos, por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD). Lenguaje SQL El lenguaje de consulta estructurado o SQL (por sus siglas en inglés: Structured Query Language), es un lenguaje declarativo de acceso a bases de datos relacionales, que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional, permitiendo efectuar consultas con el fin de recuperar de una forma sencilla, información de interés de una base de datos, así como también hacer cambios sobre ella. Es un lenguaje de cuarta generación (4GL). Manejadores de Bases de Datos SQL Server Microsoft SQL Server, es un sistema para la gestión 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, Sybase ASE, PostgreSQL, Interbase, Firebird o MySQL. Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. Capítulo 2. Selección de la plataforma tecnológica 14 Permite trabajar en modo cliente‐servidor, donde la información y datos se alojan en el servidor y las terminales o clientes de la red, sólo acceden a la información. Además permite administrar información de otros servidores de datos. Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos, pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita. Es común desarrollar proyectos completos, complementando Microsoft SQL Server y Microsoft Access, a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows. En el manejo de SQL mediante líneas de comando, se utiliza el SQLCMD. Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos Windows. MySQL MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL, es desde enero de 2008 una subsidiaria de Sun Microsystems, y ésta a su vez de Oracle Corporation, desde abril de 2009 Oracle Corporation desarrolla MySQL, como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos, deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública, y los derechos reservados del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Capítulo 2. Selección de la plataforma tecnológica 15 Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo, que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius. Access Microsoft Access, es un programa de sistema de gestión de base de datos relacional creado y modificado por Microsoft, para uso personal en pequeñas organizaciones. Es un componente del paquete Microsoft Office, aunque no se incluye en el paquete "básico". Una posibilidad adicional, es la de crear ficheros con bases de datos que pueden ser consultados por otros programas. Dentro de un sistema de información, entraría dentro de la categoría de gestión, y no en la de ofimática, como podría pensarse. Este programa permite manipular datos en forma de tablas (la cual es la unión de filas y columnas), realizar cálculos complejos con fórmulas y funciones, incluso dibujar distintos tipos de gráficas. Oracle Oracle es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando: Soporte de transacciones Estabilidad Escalabilidad Soporte multiplataforma Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005, fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años. Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft, y de la oferta de otros RDBMS con licencia libre, como PostgreSQL, MySql o Firebird. Capítulo 2. Selección de la plataforma tecnológica 16 Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux. 2.2 Herramientas seleccionadas 2.2.1 ASP.NET Dado que un archivo .aspx en Internet no se lee secuencialmente, esto significa dentro del lenguaje de programación que no es intérprete, sino que es compilado, incrementa la velocidad de respuesta del servidor, además de que al ser compilado, se otorga mayor seguridad puesto que ya no es posible ver el código fuente sin utilizar reingeniería en la aplicación. Así mismo, ASP.Net nos sirve para crear Sitios Web sencillos, así como para grandes aplicaciones. Además que la familia de Visual Studio nos facilita mucho más la forma y acción de programar. Las Principales características de ASP.Net, para el diseño de la aplicación de Comercio Electrónico son: Memoria Caché: se puede almacenar en la memoria Caché del servidor tanto páginas enteras, como controles personalizados o simples variables. Se puede reducir de forma considerable el consumo de los recursos del servidor, ya que es muy útil almacenar datos de la Base de Datos en la memoria Caché. Carpetas especializadas, como por ejemplo, app_code, que compila automáticamente las clases que se alojan en él, o la carpeta app_theme, que aloja ficheros que marcan los temas de estilos de la Web. Los archivos de configuración Web.config y Machine.config, permiten realizar operaciones de configuración en ficheros que hasta ahora, había que realizar directamente en el servidor. La eliminación total de la necesidad de Frames, con la introducción de las MasterPages. La multitud de controles Web, que permiten mucha funcionalidad con poco código. Desde enlace con las bases de datos o enseñar fácilmente todos los datos, hasta simples etiquetas, hiperenlaces o generadores de imágenes. Se pueden utilizar hasta cuarenta lenguajes de programación distintos, para el desarrollo en ASP.NET. Capítulo 2.2.2 Se ha desarr privile Traba 2.3 C 2.3.1 El hos en alo Se pu esta d en rea sean a Un W inform etc. o 2. Selección de SQL Serve selecciona rollo en A egios que se ajando localm ostos de p Hospedaj spedaje con ojar, servir y ede definir definición si alidad espa archivos, sis Webhost, pro mación, com Il la plataforma te er ado la herra ASP.NET, a e otorgan a mente, perm proyecto je ocido como y mantener como un lu mplifica de acio en Inte stemas, corr oporciona e mo: archivo ustración 2.3: ecnológica amienta SQ demás que usuarios. mite agrega o hosting y/o archivos en ugar para u manera con ernet, para reos electró spacio en u s de audio Servidores de QL Server, y e nos perm r más Bases /o alojamien n un sitio de una página W nceptual, el prácticame ónicos, imág un servidor (midi), imá e Internet (prov ya que tien mite admin s de Datos. nto Web, es e Internet. Web o corre hecho de q ente cualqu genes, entre r a sus clie ágenes, arc veen servicio d ne compatib nistrar los un servicio eos electrón que el alojam ier tipo de otras. ntes, permi chivos de fo de Hosting) bilidad con permisos que consis nicos, aunq miento Web informació itiendo aloj ormato HTM 17 el o ste ue es ón, jar ML Capítulo 2. Selección de la plataforma tecnológica 18 En la ilustración 2.4, se muestra un ejemplo de los servidores en donde se hospeda información, por ejemplo páginas Web. Existen tres tipos de alojamiento en Internet, y son los siguientes: Alojamiento gratuito: El alojamiento gratuito es extremadamente limitado, cuando se lo compara con el alojamiento de pago. Estos servicios generalmente agregan publicidad en los sitios y tienen un espacio y tráfico limitado. Alojamiento compartido (shared hosting): En este tipo de servicio se alojan clientes de varios sitios en un mismo servidor, gracias a la configuración del programa servidor Web. Resulta una alternativa muy buena para pequeños y medianos clientes, es un servicio económico debido a la reducción de costos, ya que al compartir un servidor con cientos miles o millones de personas o usuarios, el costo se reduce dramáticamente para cada uno, y tiene buen rendimiento, la desventaja es que los recursos de hardware disminuyen al ser muchos usuarios. Alojamiento de pago: El alojamiento de pago no es limitado, y no comparte recursos de hardware de un servidor, el Alojamiento de pago; es muy útil cuando se requiere hospedar un proyecto, ya que nos proporciona herramientas o plataformas, las cuales no son dadas en el Alojamiento gratuito o compartido. Un solo servidor puede alojar hasta 1 millón de sitios. Capítulo 2. Selección de la plataforma tecnológica 19 2.3.2 Costos El costo de Hosting o alojamiento de pago en la actualidad (Tabla 2), tiende a una variación, la cual depende de los requerimientos que el usuario desee. Para que el presente proyecto esté en un hospedado en un servidor, se ha realizado un estudio económico del servicio de alojamiento de pago (Hosting), esto para que la aplicación tenga un óptimo desempeño al implementarlo en Internet. Se ha tomado en cuenta las plataformas seleccionadas anteriormente, las cuales nos servirán como puntos importantes que debe tener el servidor. Los puntos principales de desarrollo para la elección del servidor, son: ASP.NET ‐ Framework versión 3.5 (soporta todas las versiones anteriores) Microsoft SQL Server 2005 Databases Servicio de correo electrónico. POP3 / SMTP / IMAP (Para servicios de Email) Cuentas de FTP (File Transfer Protocol) Capítulo 2. Selección de la plataforma tecnológica 20 Navegando por Internet, se han identificado 5 principales servidores de hospedaje, que soportan las características que mencionamos y que se muestran en la Tabla 2.1 y en la tabla 2.2 : TECNOLOGÍA Servidor (Soporta Si/No) D at ap ac k et N eu b ox D is co u n tA SP D ot N et P ar k A Q U ES T H os ti n g CA R A CT ER IS T ÍC A S B Á SI CA S Dominio .COM o .COM.MX Gratis Si Si Si Si Si Capacidad Ilimitada 2.4 GB 1 GB 1 GB 1 GB Transferencia Ilimitada 36 GB 80 GB 10 GB Ilimitada Cuentas Correo Electrónico Ilimitada 300 Ilimitada 100 200 D ES A R R O LL O ASP.NET ‐ Framework versión 3.5 (soporta las versiones anteriores) SI ASP.NET 2.0 ASP.NET 4.0 ASP.NET 3.0 ASP.NET 3.5 Microsoft SQL Server 2005 Ilimitada No (MySQL) Si 2000 Si Capítulo 2. Selección de la plataforma tecnológica 21 Administración de Bases de Datos SQL Server Si Si Si Si Si Tabla 2.1: Comparación de los servidores principales que existen en Internet DATOS INFORMATIVOS D at ap ac k et N eu b ox D is co u n tA SP D ot N et P ar k A Q U ES T H os ti n g Precio (Anual / Mensual) $367.72 / $36.77 $490 / ‐‐ $124.65 / $124.65 $1434.150 / $430.24 $1584.83 / $155.31 Dirección Web ht tp :/ /w w w .d at ap ac ke t.n et / ht tp :/ /w w w .n eu bo x. ne t/ ht tp :/ /w w w .d is co un ta sp .n et / ht tp :/ /w w w .d ot ne tp ar k. co m / ht tp :/ /w w w .a qu es th os ti ng .c om / Tabla 2.2: Tabla, muestra la URL (localizador de recurso uniforme) o dirección Web y el costo del servicio (anual/mensual) Capítulo 2. Selección de la plataforma tecnológica 22 2.3.3 Disponibilidad La disponibilidad que ofrece cualquier servidor de los anteriormente mencionados, es de veinticuatro horas los siete días de la semana (24/7). Dicho de otro modo, el proyecto será monitoreado este tiempo, haciendo copias de seguridad de la aplicación. Ofreciendo la tecnología Windows que se necesita, para la implementación en Internet. 2.3.4 Selección La selección del servidor, se realizó haciendo un estudio detallado de las tecnologías y/o herramientas mostradas en la Tabla 2.1: Comparación de los servidores principales que existen en Interne. Se analizó cada servidor, y se llegó a la conclusión de que el servicio que ofrece la tecnología necesaria, para la implementación de la aplicación es Datapacket, ya que además de tener la capacidad ilimitada en Bases de Datos (SQL Server), contamos con ASP.NET Framework Versión 3.5, pudiendo así soportar versiones anteriores en caso de que sea necesario. 2.4 Análisis del costo neto de la aplicación La información que se presenta a continuación sobre los costos de la aplicación se basó en el estudio realizado por las doctoras: D.I. Silvia Oropeza Herrera D.I. Josefina Reséndiz Téllez El precio final del producto se ve afectado por diversos factores, como son: Costo estimado de ingreso anual Horas no vendibles Gastos fijos Ganancia o utilidad Costo estimado por hora, a partir de la actividad del proceso de diseño que se efectúe. Número de personas involucradas al desarrollar el proyecto. Capítulo 2. Selección de la plataforma tecnológica 23 2.4.1 Costo estimado de ingreso anual Para poder estimar el salario anual del diseñador, se deberá tomar en cuenta: Grado de capacitación (Licenciatura, especialidad, maestría, doctorado). Experiencia laboral (años en el ramo). Tipo de actividad a realizar dentro del proceso del proyecto. En base a un análisis realizado, el tipo de proyecto a realizar y comparando los sueldos actuales de Ingenieros recién egresados, se llegó a la conclusión que el sueldo para el presente proyecto por persona es de $6000.00 2.4.2 Horas no vendibles Se refiere a las horas no laborales, lahora básica no contempla los días no laborables que marca la ley, horas que tendrán que calcularse para ser incluidas en el costo real de la hora de diseño o desarrollo. 2.4.3 Gastos fijos En todo proyecto de desarrollo de software, así como en otro tipo de proyectos o negocios, se debe contemplar los gastos fijos, siendo éstos los elementos que nos dan o no las condiciones de prestar servicio: Gastos Fijos por inversión anual Espacio físico de trabajo Pago de luz Materiales consumibles Transporte Alimentos Etc. Gastos fijos por horas no vendibles También se debe contemplar por gastos fijos por inversión anual a favor, la depreciación (deducciones anuales ante hacienda) de algunos bienes, por ejemplo: Capítulo 2. Selección de la plataforma tecnológica 24 Equipo de cómputo 30% Mobiliario 10% En base a las posibilidades de inversión y las necesidades del servicio a brindar, se calcula el monto anual que se invertirá en gastos fijos por inversión anual. Dependiendo del salario mensual serán los gastos fijos mensuales, se supone que no se debe de superar al salario mensual. 2.4.4 Ganancia o utilidad Con la ganancia anual de hora base se debe sacar la relación de porcentaje, respecto al costo extra anual. 2.4.5 Costo estimado por hora de desarrollo/diseño El costo de hora de diseño o desarrollo al año. Consideraciones adicionales Volumen de trabajo Tiempo solicitado No se contempla infraestructura No se contempla derechos de uso No se contempla costos de servicios externos No se contemplan seguros Materiales de uso para el proyecto Gastos variables Etc. Según el proyecto del desarrollador, se puede aplicar un porcentaje adicional o disminuir el costo. Investigación Recaudación de información Creación y conformación de ideas Capítulo 2. Selección de la plataforma tecnológica 25 Presentación de ideas Evaluación Supervisión y control Administración En base a los puntos antes mencionados, se calcula el costo neto de la aplicación como se muestra a continuación: Salario mensual 6’000.00 x 12.5 meses = $75’000.00 de salario anual $6000.00 x 12.5 = $75000.00 de salario anual por persona (a) 12.5 meses serían 12 meses que tiene un año más 15 días de aguinaldo otorgados por la ley. 12 meses + 15 días = 12.5 meses (b) Para determinar el salario por hora se establece un horario de 8 Hrs. de trabajo diarias, durante 5 días a la semana durante las 52 semanas del año 8 hrs x 5 días x 52 semanas = 2080 horas posibles de trabajo al año (c) De acuerdo a las 2080 Hrs., posibles anuales de trabajo y al estimado salario anual de (a), se obtiene un costo básico de hora. $75000.00 salario anual/2080 horas = 36.00 costo básico por hora (d) Ahora, se procede a obtener el total de horas no vendibles de la siguiente manera: La ley marca 7 días al año feriados: 7 días x 8 horas = 56 horas (e) Por cada cinco años después de los cuatro, se otorgarán dos días más de vacaciones. Considerando el primer año laboral con 6 días de vacaciones, se calcularán 48 Hrs. de trabajo no vendibles Capítulo 2. Selección de la plataforma tecnológica 26 6 días de vacaciones x 8 horas de trabajo diario = 48 horas no vendibles por vacaciones (f) La ley otorga por periodo vacacional el 0.25% de horas adicionales, como prima vacacional, tomando de (f) las horas no vendibles por vacaciones tenemos que: 48 horas x 0.25% = 12 horas de prima vacacional (g) La ley contempla una semana por incapacidad: 5 días x 8 horas = 40 horas de incapacidad (h) La sumatoria de las horas no vendibles anuales contempla los días feriados, días de vacaciones, prima vacacional e incapacidades, por lo tanto, del valor de los valores de (e), (f), (g) y (h) tenemos que: 56 hrs. de días feriados + 48 hrs. de vacaciones + 12 hrs. de prima vacacional + 40 hrs. de enfermedad o incapacidad = 156 hrs. no vendibles al año. 156 hrs. no vendibles al año (i) Por lo tanto de las horas básicas habrá que restar las horas no vendibles, entonces, de (c) e (i): 2080 horas posibles de trabajo al año – 156 hrs no vendibles = 1924, horas posibles efectivas de trabajo al año. 1924 hrs. posibles efectivas de trabajo al año (j) Sin embargo, habrá que considerar que dentro de las horas anuales posibles efectivas (i), existen también tiempos no dedicados al diseño o desarrollo, lo que se le denominan tiempos de índole administrativo, que están calculados en un 30% de dicho tiempo, calculando: 30% de 1924 hrs. = 641 horas de tiempo administrativo (k) A la cuenta anterior, también se resta el 30% de tiempo administrativo, tenemos que de (j) y (k) resulta: Capítulo 2. Selección de la plataforma tecnológica 27 1924 horas de tiempo posible efectivo de trabajo anual – 641 horas de tiempo administrativo = 1283 horas vendibles al año. (l) Horas vendibles al año = 1283 horas El costo total de las horas no vendibles, se obtiene de los valores de (i) y (k): 156 horas no vendibles + 641 horas no vendibles de tiempo administrativo = 797 horas al año no vendibles. (m) Con la suma de las dos variables que implican un monto no directo en el costo hora, se tendrá un costo en dinero adicional al costo hora base. $28731 = 797 horas no vendibles anuales. (n) $30000 = inversión anual para gastos fijos (equipos de cómputo de los integrantes). $28731 + $30000 = $58731.00 costo extra anual para ser rentable. (ñ) Retomando las horas vendibles al año multiplicado por nuestro costo base, obtendremos lo que se ganaría anualmente, entonces de (l) y (d): 1283 horas vendibles x $36.05 costo básico de hora = $46252.00 se ganaría anualmente (o) $46252.00 es el costo anual de hora base, el costo extra anual para ser rentable es de $58731.00, si obtenemos la razón en porcentaje de estos valores, obtenemos que: Porcentaje de rentabilidad = 191% 191% porcentaje de rentabilidad (p) Para traducir el porcentaje de rentabilidad a pesos, se multiplica a la hora base, $36.00 hora base x 1.91 porcentaje de rentabilidad = 68.00 porcentaje de rentabilidad en pesos; retomando el valor de (d): $36.00 x 1.91 = $68.00 es el porcentaje de rentabilidad en pesos mexicanos. Capítulo 2. Selección de la plataforma tecnológica 28 Finalmente, el costo de hora base se le suma el costo de rentabilidad, dándonos el costo total por hora de trabajo sin utilidad: $36.00 hora base en pesos + $68.00 porcentaje de rentabilidad en pesos = $104.00 pesos por hora justa por persona Hora neta por persona en pesos = $104.00 (q) Al valor hora justa, habrá que agregar una utilidad o ganancia que se estipula como mínima del 20%. $104.00 pesos por hora justa x 0.2 de porcentaje de utilidad = $20.00 de hora justa por persona (se redondea la cifra para los cálculos) El margen de utilidad o ganancia se agregará a la hora justa. $104.00 pesos por hora justa + $20.00 porcentaje de utilidad = $124.00 pesos de hora de desarrollo o diseño por persona. Hora justa por persona = $124.00 pesos (r) Ahora se obtendrá el costo de hora de diseño o desarrollo al año. Retomando la cantidad de horas vendibles netas (l), el costo de hora de diseño o desarrollo al año lo tenemos al multiplicar la hora justa por persona por las horas vendibles netas por persona: $124.00 horas de diseño x 1283 horas vendibles = $161504.00 cuesta las horas de diseño o desarrollo al año por persona. Costo de hora de diseño o desarrollo al año = $161504.00 (s)Esto quiere decir, que como mínimo se debe de obtener una cantidad de $13458.00 pesos mensualmente. $161504.00 / 12.5 meses = $13458.00 pesos Capítulo 2. Selección de la plataforma tecnológica 29 Finalmente, obtenemos el costo final de desarrollo y diseño de la aplicación, es necesario aclarar que hasta el momento, todos los cálculos y cifras que se han obtenido se han calculado para una sola persona. En base al análisis realizado, se obtuvo la cantidad de $13’458.00, por lo que se suman los sueldos de los desarrolladores involucrados en el proyecto. Se toma el sueldo inicial de $6’000.00 x 2personas = $12’000.00, a este valor se suma la cantidad de $13’458.00, en la cantidad $13458.00 se encuentra el sueldo de la tercer persona involucrada en el proyecto. Por lo tanto: $6000.00 x 2 personas = $12000.00 $12000.00 + $13458.00 del tercer integrante = $25458.00 pesos (t) $12’000.00 + $13’458.00 = $25’458.00, este valor representa la cantidad que se debe percibir para poder realizar el proyecto, mensualmente por las tres personas involucradas. Es necesario multiplicarlo por el 12, que es el número de meses que tardará el proyecto en estar listo, $25’458.00 x 12 meses = $ 305,496.00, es el valor del proyecto que se realiza. $25458.00 * 12 meses que dura el proyecto = $305496.00 el costo final del proyecto Tienda Virtual. Costo final de la aplicación Tienda Virtual = $305496.00 pesos Cabe mencionar que es el primer proyecto que se realiza, por tal motivo no se tienen herramientas que pudieran ser reutilizadas, para la realización del mismo, es importante mencionar que, cada proyecto tendrá un costo distinto ya que cada cliente tiene diferentes necesidades, por lo tanto, el costo final de $305496.00 es aplicado únicamente para el desarrollo de esta aplicación. 30 Capítulo 3. Análisis y diseño de la aplicación de la Tienda Virtual para PyMES Capítulo 3. Análisis y diseño de la aplicación 31 3.1 Arquitectura de un sistema de Comercio Electrónico En general, define sus componentes básicos y los conceptos importantes de su funcionamiento, así como la descripción de las relaciones entre ellos. La arquitectura depende de la naturaleza del negocio, por ejemplo, la arquitectura de un sistema desarrollado para un cliente común, diferirá de aquella que define un sistema de mercadeo. Por generalidad, los sistemas enfocados al Comercio Electrónico tienen similitudes entre sí, por ejemplo, la mayoría necesita una base de datos relacional y una aplicación para poder administrar la Tienda Virtual, por lo que las similitudes entre los sistemas para Comercio Electrónico, son mayores que las diferencias. 3.2 Diseño de la base de datos Para realizar el diseño de la base de datos, se ha realizado un estudio de la información es necesaria para el funcionamiento adecuado de la Tienda Virtual. Se emplearán las características siguientes, las cuales permitirán un análisis más detallado. 3.2.1 Diagrama de flujo de datos (DDF) El diagrama de flujo de datos (DDF), muestra el proceso de funcionamiento de la aplicación. Se han realizados los DDF siguientes: DDF de la interfaz de usuario DDF de la interfaz de administrador Capítulo 3. Análisis y diseño de la aplicación 32 Ilustración 3.1: Diagrama de flujo de datos para la interfaz de usuario En el diagrama 3.1, se muestra de manera general como funciona el sistema cuando el usuario está manipulando la aplicación de Tienda Virtual. El usuario se puede conectar desde cualquier parte del mundo, con la única condición de que el equipo de cómputo debe de estar conectado a internet. En el diagrama se muestran diferentes lugares desde los cuales se puede estar conectado, casa y trabajo sin importar que equipo se utiliza, si es laptop o un equipo de escritorio. En cuanto al servidor, casi siempre va a estar en funcionamiento y esperando a que el usuario haga una petición al servidor para mostrar información. Respecto al diagrama de la ilustración 3.2, se puede observar que el administrador puede operar la Tienda Virtual, de igual forma que el usuario, desde cualquier parte del mundo; una vez que el administrador haya terminado de hacer cambios al catálogo de la Tienda Virtual, basta con guardar los cambios para que se guarden en la base de datos de la aplicación y de inmediato se actualice la información que se encuentra en el servidor para que el usuario siempre pueda ver información actual. Capítulo 3. Análisis y diseño de la aplicación 33 Ilustración 3.2: Diagrama de flujo de datos para la interfaz administrador 3.3 Diseño del sistema Para el desarrollo del sistema, se diseñó y se desarrolló dos tipos de interfaz. La primera es la interfaz de usuario que se puede ver en la ilustración 3.1, en la cual se muestran los componentes básicos del sistema y la conexión que existe entre ellos. La segunda interfaz, es llamada interfaz de administrador, que se puede ver en la ilustración 3.2, contiene los elementos necesarios para poder dar de alta productos, agregar información que requiera el cliente, además de mantener la administración de la Tienda Virtual. 3.4 Sistema de administración de bases de datos El sistema de administración de bases de datos (DBMS), proporciona mecanismos para almacenar, organizar, recuperar y modificar datos para diferentes usuarios. Capítulo 3. Análisis y diseño de la aplicación 34 Los sistemas de bases de datos más populares en la actualidad, son las bases de datos relacionales. SQL es el lenguaje de programación estándar internacional, es muy popular al momento de crear bases de datos relacionales, para realizar consultas (es decir, para solicitar información que cumpla con ciertos criterios dados), y para manipular los datos. Un lenguaje de programación se conecta e interactúa con una base de datos relacional, a través de una interfaz de base de datos. La interacción entre la base de datos relacional y el lenguaje de programación se efectúa mediante un software que facilita la comunicación, entre un sistema de administración de bases de datos y una aplicación. Los programas en C#, se comunican con las bases de datos y manipulan sus datos a través de ADO.Net. 3.5 Diseño de la base de datos relacional Una base de datos relacional es una representación lógica de datos, que permite acceder a los datos de manera independiente de su estructura física; además, con la posibilidad de organizar los datos en tablas. Las tablas están compuestas por filas y columnas, en las que se almacenan los valores, los que se conocen como registros. La tabla almacena los atributos de los empleados. La base de datos de la aplicación lleva por nombre ComercioBD, con el fin de brindar comodidad de lectura al momento de programar la aplicación en la Ilustración 3.3 se puede ver una captura de pantalla de la base de datos al final del desarrollo de la aplicación. Capítulo En el inform los ca base d de la i La pri de los consu o 3. Análisis y dis análisis de mación de lo mpos corre de datos, co información imera tabla s datos del ultas con eso seño de la aplica Ilu la base de d os usuarios espondiente omo se pued n, tanto de la Ilustración 3 que se dise usuario en os datos. ación ustración 3.3: T datos, se pe que se reg es de su em de ver en la a empresa c .4: Campos de eñó se llam la aplicaci Tablas de la ba ensó, que er istran, para presa, y qu a ilustración como de los cada tabla, inc ma Clave, y s ón, para qu ase de datos ra necesario a quedespu ue se guarde n 3.4, así se s usuarios. cluyendo tipo se utilizará ue posterior o una tabla ués, los usua en en la cor e pueden ha de datos para efectu rmente se p que guarde arios rellen rrespondien acer consult uar el regist puedan hac 35 e la en nte tas tro cer Capítulo El cam tablas difere Tamb el nom Nomb perten se reg Por úl en la p La seg 3.5, p Clave_ o 3. Análisis y dis mpo Clave e s de la base entes tablas, ién es nece mbre de usu bre_Empres nece el usua gistra en la p ltimo, el cam página, perm gunda tabla permite enl _Empresa. seño de la aplica es muy imp e de datos , para poder sario un cam uario de la p sa, es otro ario, con el página Web. mpo numer mitiendo lle a que se va lazar la ba Ilustración ación ortante, ya ComercioB r hacer cons mpo que se persona que campo que fin de lleva . ro será útil evar un cont a crear se ase de dato n 3.5: Tabla Em que este ca BD, mediant sultas entre e llame Nom e se registre e guardará r un registr para enum trol de los u llama Empr os Clave c mpresa con sus ampo está d te este cam e las mismas mbre_Usuar por primer el nombre ro más deta merar a los u usuarios. resa, se pu con Empres s respectivos ca dado de alta mpo se van s. rio. Este cam ra vez. de la emp llado de cad usuarios qu ede ver en sa, median ampos a en todas l a enlazar l mpo guarda resa a la q da cliente q e se registr la ilustraci nte el cam 36 las las ará que ue ren ón po Capítulo De est la bas Los ca correc página El mo se gua ésta s con un El cam servic Empr dueño o 3. Análisis y dis te modo, se e de datos. ampos que ctos de la e a Web. tivo por el c arda como ea más prá na mayor ef mpo Giro s cio presta a resa_Dueno o o del direc I seño de la aplica e podrán rea contiene l empresa a cual la direc un solo ele áctica y cóm fectividad, y e creó con la sociedad mostrada ctor de la em Ilustración 3.6 ación alizar consu a tabla Em la que pert cción física emento, es p moda, como y así tener lo el fin de s . en la ilustr mpresa que 6: Tabla Empre ultas de form mpresa, será tenece el u de la empre para que al también al os datos con saber, qué ración 3.6, d está registr esa_Dueno con ma más efic án necesari usuario, que esa, se divid l momento arrojar los n mayor pre es lo que v dicha tabla rada. n sus respectivo ciente entre ios para te e se ha reg de en varios de hacer u s resultados ecisión. vende la em contendrá os campos e las tablas ner los dat gistrado en s campos y una búsqued s, se obteng mpresa o q los datos d 37 de tos la no da, gan ué del Capítulo El cam empre dueño puede almac Por ú guard regist La tab rápida Por ej o tien 3.5.1 Para e interfa presen o 3. Análisis y dis mpo Empre esas, que te o puede intr en tener má cenado en fo ltimo, la ta dar todos lo tradas en la bla Product a alguna car emplo, el ca da, tiene dis Interface el diseño d faz se le de nta la inform seño de la aplica esas es mu engan el m roducir dat ás tablas, y a orma prácti bla de Prod s datos de l base de dat Ilustración tos, tiene d racterística ampo Canti sponible pa s e nuestro s esigna el no mación de s ación uy útil, ya ismo tipo d os de todas así no crear ca. ductos (véa los product tos Comerci 3.7: Tabla Pro diferentes ca del product idad va a gu ra vender a sistema em ombre Inte sus producto que un due de giro o al s sus empre r un gran n ase en la ilu tos, que des io_BD. oductos con sus ampos que to. uardar la ca a los usuario plearemos erfaz Usuar os, como: eño puede lguno distin esas, esto de úmero de r ustración 3 seen ofrecer s respectivos c ayudarán a ntidad de p os. dos tipos d rio, y es aq llegar a te nto, por co emuestra la registros, sin 3.7), se va a r las empre campos a ubicar de productos qu de interfaz, quella dond ener distint nsiguiente, a relación q no tener to a encargar sas que est e manera m ue la empre a la prime de el usuar 38 tas el ue do de tén más esa era rio Capítulo 3. Análisis y diseño de la aplicación 39 ID Precio Descripción Tamaño Imagen Características Etc. La segunda interfaz será llamada: Interfaz Administrador, la cual contendrá un formulario adaptado, para que la persona que administre la Tienda Virtual, pueda realizar la captura de los datos sin tener conocimientos avanzados en informática. Se presenta un boceto (Mockup) de las dos interfaces, previamente diseñadas, el boceto se muestra en la ilustración 3.8. Capítulo La Int o 3. Análisis y dis terfaz Usuar Cabecera Menú Contenedo o Pan o Pan seño de la aplica Ilus rio, contend or nel Izquierd nel Central ación stración 3.8: Bo rá las siguie do oceto de la inte entes caract erfaz usuario terísticas: 40 Capítulo Para e se pue este c emple un 90 propo indep Al obs cada p o 3. Análisis y dis o Pan Pie de pág el diseño de ede observa código perm ear este tipo 0%, compa orciona la endienteme servar la ilu panel. seño de la aplica nel Derecho gina Ilustració e la Interfaz ar una parte mite un óp o de código, arado con libertad ente de su c ustración 3. ación o ón 3.9: Código z Usuario se e del código ptimo funci es agilizar sólo emp de determ contenido. .9 y emplea semántico de e utiliza cód semántico ionamiento el tiempo d plear códig minar los ar código se la interfaz usu digo semánt de la aplica o de la pla de carga de u o HTML; aspectos emántico, se uario tico, en la il ación de la T ataforma, el una página esta forma estéticos d e agregan la lustración 3 Tienda Virtu l objetivo Web hasta a de traba de un sit as etiquetas 41 3.9 ual, de en ajo tio, s a Capítulo 3. Análisis y diseño de la aplicación 42 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 26 27 28 29 30 31 <HTML> <head> <title>Proyecto Comercio Electrónico</title> </head> <!-- Inicio de interfaz grafica --> <body> <!-- División Cabecera --> <div id="Cabecera"></div> <!-- División Contenedor --> <div id="Contenedor"> <!-- Subdivisión Paneles --> <!-- Panel Derecho --> <div id="Panel_Derecho"></div> <!-- Panel Central --> <div id="Panel_Central"></div> <!-- Panel Izquierdo --> <div id="Panel_Izquierdo"></div> </div> <!-- Pie de Página --> <div id="Pie"></div> </body> </HTML> Código Fuente 3.1: Estructura de la interfaz usuario El código fuente 3.1 muestra la estructura de la Interfaz de Usuario. En la línea 1 y línea 31, el cuerpo de cada declaración comienza con una etiqueta, y termina con la misma etiqueta, sólo se inserta una diagonal “/” al inicio de la última etiqueta. <HTML>…</HTML> Se indica en el documento que se inicia un archivo tipo HTML, es necesaria esta etiqueta ya que se usará este lenguaje para el desarrollo de la Interfaz Usuario. En la línea 2‐4 <body><title>Comercio Electrónico</title></head> Se especifica que en la cabecera del archivo HTML tendrá un título; se procede a escribir el título de éste documento, para este caso se propone Comercio Electrónico. Capítulo 3. Análisis y diseño de la aplicación 43 En la línea 7 y 28 <body> … </body> Esta etiqueta se emplea para indicar que empieza el cuerpo del documento HTML, que es donde comienza la estructura de la Interfaz Usuario, empleando código semántico; la línea 28 muestra que ha terminado el cuerpo del documento. En la línea 10 empieza la estructura del códigosemántico, con la etiqueta: <div id=Cabecera> (parámetros) </div> Por el momento, únicamente se declara la estructura de la Interfaz Usuario, más adelante se insertarán los parámetros correspondientes. Linea 17, 20, 23 17. <div id=Panel_Derecho> (parámetros) </div> 20. <div id=Panel_Central> (parámetros) </div> 23. <div id=Panel_Izquierdo> (parámetros) </div> El diseño es dividido por 3 paneles, los cuales se encuentran contenidos en la división “contenedor”, esto se hace con el fin de manipular correctamente el documento. Línea 27 <div id=Pie> (parámetros) </div> Esta etiqueta nos indica el pie del diseño Web, más adelante se ingresarán los parámetros. Para el diseño de la Interfaz Usuario se emplea el software Adobe Photoshop CS4 para la edición de gráficos y Adobe Dreamweaver CS4, para el diseño de la hoja de estilos. Capítulo 3.6 D 3.6.1 El sig cuand página botón o 3. Análisis y dis Diseño de l Interfaz u uiente diag do el usuari a, cada bot n Nosotros m Nosotros Contiene sobre l Muestra l con sus r carac Muestra In empresas que Los cliente la experien con est Respuesta frec Atención p horario seño de la aplica las interfa usuario grama, mue o acceda a tón mostra mostrará inf Producto e información a Empresa los productos reespectivas cteristicas nformación de vinculada a la se visita es opinan sobre ncia de compra ta empresa as a preguntas cuentes ersonalizada e establecido ación ces stra la info ella, cada c rá informa formación s os Compa e e ar en ormación qu cuadro simb ción sobre sobre la Tien In añias Testim ue va a apa boliza un bo la Tienda nda Virtual. nicio monios Nosotros Productos Compañías Testimonios PF Soporte en línea arecer en la otón que ap Virtual; po PF a página W parecerá en or ejemplo, Soporte 44 Web la el Contacto Capítulo 3.6.2 La int Tienda botón difere admin o 3. Análisis y dis Interfaz a terfaz admin a Virtual, el n “iniciar se entes, que s nistrador se Datos ge em Nosotros Menú e administ se Permite produ carac seño de la aplica administra nistrador, m l administra esión”; una on: agregar eleccionará l nerales de la mpresa Productos en el cual el trador inicia esión e agregar un ucto y sus cterísticas ación ador muestra la i ador debe d a vez inicia r producto, la que desee Compañias Agregar Producto interacción de ingresar ada la sesi editar prod e utilizar. In Testimonios Iniciar Sesión Editar Producto que tendrá a la Tienda ión, se pod ducto y elim Contacto nicio PF Iniciar sesión Eliminar Producto Agregar Producto á el adminis a Virtual al s drá ejecuta minar produ Soporte en Línea strador con seleccionar ar 3 accion ucto; según Contacto 45 la r el nes el Iniciar Sesión Capítulo 3. Análisis y diseño de la aplicación 46 Dependiendo del tipo de usuario dentro de la interfaz administración, son las opciones que podrá ver y manipular, debido a la existencia de jerarquías entre usuarios, que es una opción que posee el dueño de la empresa, esta opción permite que tenga administración en la Tienda Virtual, y así él podrá seleccionar el personal que edite las opciones que requiera. Una vez hecha la presentación de estas dos interfaces, cabe mencionar que en la Interfaz Usuario como en la Interfaz Administrador, se cuenta con un buscador que permite encontrar un producto u otra información que se encuentre dentro del sitio Web. 3.6.3 Diseño de las clases Para la aplicación se desarrollan cuatro clases, las cuales son las siguientes: Clase Dueno Las propiedades de la Clase Dueno, son: Clave_Dueno Nombre_Dueno Empresa Dirección, dividida en subregistros para una mayor comodidad al momento de programar. Clase Empresa Las propiedades de la Clase Empresa, son: Clave_Empresa Nombre_Empresa Permite editar las características de un producto existente Editar Producto Permite eliminar un producto de la base de datos Eliminar Producto Capítulo 3. Análisis y diseño de la aplicación 47 Giro Dirección, dividida en subregistros, igual que la clase Dueno. Clase Productos Las propiedades de la Clase Productos, son: Clave_Producto Nombre_Producto Concepto Cantidad Foto Clave_empresa Clave_dueno Tamano Color Fabricante Marca Precio Clase Empresa_dueno Las propiedades de la Clase Empresa_dueno, son las siguientes: Clave Clave_dueno Clave_empresa Numero 3.6.4 Desarrollo Para la aplicación de la Tienda Virtual, es necesario diseñar un control de validación. Los controles de validación, permiten comprobar las entradas de datos del cliente en la página Web del servidor, y mostrar en caso necesario un mensaje de error. Los controles de validación se introducen en las páginas Web, para que puedan comprobar las entradas de los datos. Una de las diferencias más evidentes, es que Capítulo ahora introd El uso elimin progr Los co Todos entrad nulos, mome El con explic Login visitar Despu secue El blo o 3. Análisis y dis a el servido ducir algún o de este tip nan previam amador pue ontroles de Campo de Expresión Rango de v Comparad Configura Resúmen s los control da nula. Sin , puesto qu ento de hace ntrol de vali ca a la Ilustr n.aspx, es la r por prime ués de la ncias de com oque de sec seño de la aplica r los ocupa dato, éstos o de contro mente muc ede utilizar validación d validación n de validaci validación ( dor de valid r validación de validació les de valid n embargo, e ue los cam er consultas idación de la ración 3.10. Ilu a página a l ra vez el sit etiqueta <H mandos (Sc cuencias de ación a por defec se vuelven v oles, facilita chos de los distintos co disponibles, requerido ( ión regular (Range Valid ación (Com n (Custom V ón (Validati ación, excep en la aplica mpos que d s con los dat a página W ustración 3.10: la que se re tio. HTML> de cript), delim comandos cto, y en ca visibles par al momento s errores. ontroles de , son: (Required F (Regular Ex dator) pare Valida Validator) on Summar pto campo d ción de la T deben ser l tos. eb de la Tie : Acceso de adm edirigirá a t l comienzo mitado por la contiene u aso que el u ra emitir el m o de depura En un mis validación. Field Validat xpression V ator) ry) de validació Tienda Virtu llenados, so enda Virtual ministrador todos los u o, viene un as etiquetas una sencilla usuario se mensaje de ar una aplica smo formul tor) Validator) ón requerido ual no se ac on importa l se llama lo usuarios, cu n bloque d s <SCRIPT> función C# equivoque error. ación, pues lario Web, o, aceptan u eptan valor antes para ogin.aspx, y ando quier de código y </SCRIPT #, Login_Clic 48 al se el na res el se ran de T>. ck. Capítulo 3. Análisis y diseño de la aplicación 49 Esta función únicamente compara algunos valores del formulario con valores fijos en el código y, también utiliza un método de System.Web.Security, FormsAuthentication para redirigir al usuario de vuelta a la página original, o fija la propiedad del texto de una etiqueta del formulario, para que indique al usuario que lo intente otra vez. Dentro del cuerpo de la página (entre las etiquetas <BODY> y </BODY>), comienza el formulario, utilizando una etiqueta <FORM>. Un formulario ASP.Net que utiliza un atributo/valor runat = “server”, siempre realiza un envío a sí mismo, esto quiere decir que se ejecutará algo en el
Compartir