Dirección de Investigación , Capacitación y Extensión SEMINARIO DISEÑO Y ELABORACIÓN DE ANTEPROYECTOS Lic. Gladys Dechat Master en Epistemología y Metodología de la Investigación Científica Cursantes: Ramirez Mariana Valeria Florentin Juan Pablo Carrera: Análisis y programación de sistemas Profesor Asesor: Magri Roberto Sistema de publicación de micrositios móviles, mas complemento de adserving
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Dirección de Investigación , Capacitación y Extensión
SEMINARIO
DISEÑO Y ELABORACIÓN DE ANTEPROYECTOS
Lic. Gladys Dechat
Master en Epistemología y Metodología de la InvestigaciónCientífica
Cursantes: Ramirez Mariana ValeriaFlorentin Juan Pablo
Carrera: Análisis y programación de sistemas
Profesor Asesor: Magri Roberto
Sistema de publicación de micrositios móviles, mas complemento de adserving
Fundación INCADE- Posadas- MNES - ARGENTINA
~ 2012 ~
DELIMITACIÓN DEL TEMA
Título: “Sistema de publicación de micrositios móviles, mas complemento de
adserving”.
Antecedentes:
Se ha buscado referencias del proyecto en diferentes páginas de internet de
otras universidades (UNAM y DACHARY) no se ha encontrado trabajos iguales
ni similares al planteado.
Páginas:
http://www.unam.edu.ar/2009/index.php
http://www.dachary.edu.ar/
Descripción de la Empresa:
“Adsmovil.com” es una empresa dedicada a la comercialización de
campañas de branding especializadas en dispositivos móviles.
Adsmovil es la primera red de publicidad móvil en lengua española con alcance en América Latina, y con cobertura en Argentina, Brasil, Colombia, Chile, México, Perú, Venezuela y Centroamérica. La red de Adsmovil cuenta con 400 millones de impresiones mensuales e integra a los principales portales móviles de Latinoamérica, brindando a los anunciantes cobertura regional y segmentación de campañas por país, carrier, sistema operativo, categoría y dispositivo, entre otros criterios. Adsmovil cuenta con un Adserver móvil propio, plataforma tecnológica que brinda a los anunciantes,
En periodos anteriores la mayoría de las Empresas (networks) realizaban sus
operaciones a traves de un ad server de terceros.
Transcurrido el tiempo con los avances de la tecnología no sólo se ha
incrementado el número de las empresas o comercios que han incorporado un
ad server propio, sino también se fueron creando diferentes plataformas para
optimizar la carga dependiendo de la necesidad del ambiente.
“Adsmovil” es una Empresa de Latinoamérica que se dedica a la publicidad
especializada en móviles. No posee un adserver propio ni una herramienta de
creación de sitios móviles de forma amigable, y que permita optimizar la
afiliación la creación de sitios sin la necesidad de contar con un programador
para la misma.
El mayor inconveniente se centra en la pérdida de posibles afiliados que no
desean crear un sitio móvil, ya que prefieren que estos sitios sean
proporcionados por las redes de publicidad especializadas en móviles.
Se propone implementar un sistema ad serving junto con un publicador de
sitios móviles alimentados por rss, o xhtml creado desde la plataforma que sea
capaz de brindar sistemas de publicidad y mejorar la navegabilidad de los sitios
a traves de dispositivos móviles.
Página 3
A partir de esto surgen diversos planteamientos que se puedan presentar como
ser:
1) ¿En qué beneficiará el sistema a la empresa?
2) ¿Los métodos a emplear para la elaboración del sistema son los más
adecuados?
3) ¿Cuáles son las herramientas que se van utilizar para la creación del
sistema informático?
Página 4
FUNDAMENTACIÓN
La idea del proyecto se basa en experiencias recogidas de varias redes de
publicidad y adservers1 de todo el mundo, que cuentan con productos similares
en algunas de las aplicaciones que se intenta implementar.
Actualmente en el mercado existen plataformas que realizan la tarea de
adserving o de creación de diferentes layouts optimizados para dispositivos
móviles, pero en este momento no existe ninguna compañía, ni sistema que
combine ambas herramientas en una sola, logrando obtener la atención de los
publishers y brindar un plus extra. La carencia de estos tipos de servicios dan
como resultados un inventario de publicidad mal distribuido y la reducción de la
demanda por parte de los advertisers sobre los dispositivos móviles
“Sistema de publicación de micrositios móviles, mas complemento de
adserving” será capaz de optimizar el acceso de un sitio web a traves de un
dispositivo móvil y también a la vez dar la posibilidad al publisher2 de poder
monetizar y obtener alguna ganancia con su sitio a traves de esto.
La prioridad radica en lograr mejores implementaciones para incrementar la
cantidad de publishers, lo que va a dar como resultado una network3 más
grande y de esta manera repartir nuestro inventario de publicidad a mayor
cantidad y variedad de personas.
1 Servidor de almacenamiento publicidad (banners)2 Propietarios de los sitios web3 Red o grupos de sitios
Página 5
OBJETIVOS
General:
Diseñar un publicador de sitios móviles4 y un adserver para distribuir la
publicidad.
Proponer un modelo de sistema que sea dinámico y flexible, escalable
tanto en usabilidad como en tráfico.
Específicos:
Seleccionar herramientas apropiadas para el diseño y programación del
sistema.
Optimizar la usabilidad de sitios móviles a traves de dispositivos
celulares.
Monetizar los sitios
Distribuir de mejor manera el inventario publicitario
Contribuir a mejorar el ROI5 de los Advertisers6 que pauten en nuestra
plataforma.
4 Sitios optimizados para celulares5 Retorno de la inversión6 Empresas que compran publicidades
Página 6
JUSTIFICACIÓN
En la actualidad se puede observar que casi en su totalidad las redes de
publicidad del mercado cuenta con su ad server propio, ya que son varias las
ventajas con referencia al uso de aplicaciones de terceros. Entre ellos se puede
mencionar: seguridad, comodidad, rapidez entre otros.
Es conveniente realizar el diseño de la aplicación debido a que Adsmovil podrá
tener beneficios como ser un mayor control de la forma de repartir el inventario
de publicidad, más facilidad para atraer nuevos publishers, mayor cantidad de
datos para la toma de decisiones futuras.
A la hora de resaltar la originalidad del proyecto se puede decir que el sistema
contaría no sólo con un ad server de publicidad sino también con la posibilidad
de poder crear sitios móviles a partir de textos o de feeds rss7 sin además la
presencia de un desarrollador, es decir va a ser una herramienta de creación
de sitios a traves de drag and drop8 totalmente intuitivo y con una navegabilidad
optimizada para los usuarios...
Además de un informe estadístico que se entregaría para la toma de
decisiones.
Con respecto a la viabilidad de los datos se puede observar que dadas las
tecnologías existentes en el mercado y las posibilidades de obtenerlas, no se
encuentran razones que impidan la realización del proyecto.
7 Colección de datos que se envía en un formato especifico8 Arrastrar y soltar elementos con un entorno visual
Página 7
MARCO DE REFERENCIA
En este trabajo se hará referencia a las siguientes áreas de la informática:
Análisis y diseño: Se documentará el análisis del trabajo con la
utilización de los distintos Modelos de Sistema el de Enfoque Estructurado que
abarca cuestiones de Análisis y Diseño. La actividad de Análisis se construye el
Modelo Esencial9, en tanto la actividad de diseño construye el Modelo de
Implementación.
Programación: Los lenguajes de programación que intervendrán en la
confección serán PHP10, XHTML/CSS11, JAVASCRIPT12, ambos son de última
generación.
Base de Datos: Es recomendable la utilización de un motor de base de
datos que maneje un gran volumen de datos en menor tiempo posible.
Debido a las características que debe tener el motor que más se ajusta a lo
requerido por el sistema es MySQL.
Además para poder manejar la cantidad de transacciones y para procesar
requests y control de clicks, utilizaremos una base de datos Nosql (couchDB)13
9 Edwar Yourdon "Analisis Estructurado Moderno" Editorial: Prentice hall Año:199310 Brett McLaujhlin "Php & MySQL: the missing manual" Editorial: O'Reilly Año:201111 Elisabeth Robson, Eric Freeman "Head First HTML with CSS & XHTML" Editorial: O'Reilly Año:200512 David Flanagan "JavaScript: The difinitive guide" Editorial: O'Reilly Año:201113 J. Chris Anderson "CouchDB Definitive guide" Editorial: O'Reilly
Página 8
EL MODELO ESENCIAL14
Puede ser considerado como la aplicación de la metodología de Análisis
Estructurado Moderno de Yourdon. La idea fundamental con la que el modelo
esencial es concebido es la de Tecnología Perfecta en la cual no hay
restricciones de cantidad de memoria, tamaño del disco o velocidad del
procesador. Dos modelos componen el modelo esencial:
El Modelo del Ambiente : Declaración de los objetivos. Creación
de un Diagrama de Contexto y de una Lista de Eventos, describe
los estímulos que recibe el sistema y las respuestas generadas
por los estímulos. Definición del Diccionario de Datos inicial. Tabla
de Estimulo-Respuesta.
El Modelo de Comportamiento : Creación de un DFD, y un ERD
por cada uno de los eventos de la Lista de Eventos. Los DFD por
eventos se unen en un único DFD (el Modelo Funcional) y los
ERD por eventos se unen en un único ERD (el Modelo de Datos).
Se acostumbra, también, modelar el comportamiento externo del
sistema con DTE, árboles de pantallas o menús, etc. La creación
simultánea del modelo de datos, modelo funcional y modelo de
interfaz o comportamiento externo, ayuda en la validación y
completitud del modelo esencial (descubriendo, por ejemplo,
eventos no considerados).
14 Edwar Yourdon "Analisis Estructurado Moderno" Editorial: Prentice hall Año:1993
Página 9
El Modelo de Implantación del Usuario
Es el punto de inflexión entre la etapa de análisis y la etapa de diseño. El
modelo de implementación del usuario especifica un conjunto de restricciones
que el usuario deseará imponer al grupo de desarrollo y condicionarán al
diseñador.
Define la interfaz hombre-máquina que es modelada en todos sus detalles,
estilo (árboles de menús, lenguajes de comandos, manipulación directa, etc.),
layout15 y formato de pantallas, formato de informes y listados, diseño de
pantallas para el ingreso de datos y presentación de resultados, estilo de
mensajes de error, etc.
La creación de este modelo es independiente del resto de los modelos que
conforman el de implementación, y puede ser desarrollado en paralelo. Las
interfaces deben ser diseñadas para cada uno de los procesadores.
Diseño Estructurado:
El diseño estructurado es un enfoque disciplinado de la transformación qué es
necesario para el desarrollo de un sistema, a cómo deberá de ser hecha la
implementación.
El diseño estructurado se ocupa de la identificación, selección y organización
de los módulos y sus relaciones. Se comienza con la especificación resultante
del proceso de análisis, se realiza una descomposición del sistema en módulos
estructurados en jerarquías, con características tales que permitan la
implementación de un sistema que no requiera elevados costos de
mantenimiento.
Características del Diseño:
1)- Organización jerárquica.
2)- Organización modular.
3)- Representación de los datos separada de la representación de los
procedimientos.
15 Disposición realizada en una plantilla
Página 10
Concepto de Diseño:16
1)- Módulos: Conjunto de instrucciones que ejecutan alguna actividad.
Características de los módulos :
Entradas y Salidas: lo que un módulo recibe en una invocación y
lo que retorna como resultado.
Función: las actividades que un módulo hace con la entrada para
producir la salida.
Lógica Interna: por la cual se ejecuta la función.
Estado Interno: es área de dato privada, los datos para los cuales
solo el módulo hace referencia.
2) Abstracción y Refinamiento: Abstracción consiste en aislar un elemento a
otro. Por ejemplo: pasar del Modelo Esencial al Modelo de Implementación
hasta llegar a la solución.
Cada uno de los pasos que se realiza de un nivel de abstracción Superior a un
nivel de abstracción Inferior hasta llegar a la solución se denomina
Refinamiento.
Estructura jerárquica: Es un diagrama de árbol que nos muestra la jerarquía
entre los módulos.
Estructura de Datos: Determina la organización y forma de acceder a ellos.
16 Edwar Yourdon "Analisis Estructurado Moderno" Editorial: Prentice hall Año:1993
Página 11
Independencia Funcional:
Uno de los principios fundamentales del diseño estructurado es que es un
sistema grande debería particionarse en módulos más simples. Sin embargo,
es vital que esa partición sea hecha da tal manera que los módulos sean tan
independientes como sea posible y cada módulo ejecute una única función.
Para que los diseños tengan esas cualidades, son necesarios algunos criterios
de medición. A continuación se describen algunos criterios:
Acoplamiento : clasifica el grado de independencia entre pares de
módulos. El objetivo es minimizar el acoplamiento, es decir maximizar la
independencia entre módulos.
Un bajo acoplamiento indica un sistema bien particionado y puede obtenerse
de 3 maneras:
- Eliminando relaciones innecesarias. Por ejemplo: un módulo puede
recibir datos innecesarios para él, porque de enviarlos para un módulo
subordinado.
- Reduciendo el número de las relaciones necesarias: Cuanto menos
conexiones existen entre módulos menos será el efecto en cadenas
domino (un error en módulo aparece como síntoma en otro).
- Debilitando la independencia de las relaciones necesarias: Ningún
módulo se tiene que preocupar por los detalles internos de
implementación de cualquier otro. Lo único que tiene que conocer debe
ser una función y las cuplas de entrada y salida.
Cohesión: es la medida de intensidad de asociación funcional de
los elementos de un módulo.
El objetivo del diseño estructurado es obtener módulos altamente cohesivos,
cuyos elementos estén fuerte y genuinamente relacionados uno con otros.
Página 12
Modelo de Implementación:
El modelo de Implementación consta de las siguientes actividades:
1)- Agregar al modelo esencial las actividades de control y de inicialización.
2)- Completar el diccionario de datos.
3)- Confeccionar diagrama de acceso inmediato a los datos (DIAD) por cada
almacenamiento.
4)- Confeccionar diseño de la pantalla y lógica de impresión.
5)- Asignar actividades a procesadores.
6)- Construir diagramas de estructura.
1) Agregar al modelo esencial las actividades de control y de inicialización:
Las actividades de control no se deben colocar en el modelo esencial, debido
a que no ayudan a encontrar los verdaderos requerimientos de un sistema pero
en el modelo de implementación se debe proteger al nuevo sistema de errores
debido a la tecnología imperfecta. Para realizar esta protección se deben
establecer controles que pueden ser de datos producidos por una actividad y
que serán enviados a otra y a controles en actividades, luego sus datos se
enviarán al mundo exterior.
Otro punto a tener en cuenta son las actividades que sirven para inicializar el
funcionamiento del sistema. Estas son tareas, como cargar datos iníciales de
los publishers17, cargar datos de los advertisers18, indicadores para el
procesamiento de las publicidades.
Tanto como para las actividades de control, como para las de inicialización que
se agregan aquí se debe construir su mini-especificación de proceso, definir
sus flujos en el diccionario de datos en integrar sus actividades en el DFD19.
Las actividades de control no son relacionadas con actividades que controlan
existencia de los artículos ni si el código existe o no. Aquí se refieren
a controles más complejos y que requieren una mayor elaboración como por
17 Propietarios de los sitios web18 Clientes que compran publicidad19 Diagrama de flujos de datos
Página 13
ejemplo: chequear que no existan errores en la publicación de una publicidad,
controles de fraude sobre algún anuncio, etc.
Estas actividades tendrán como entrada, un flujo de datos de una actividad
esencial y como salida tendrá la aceptación o no de los datos producidos.
2)- Completar el diccionario de datos: Esta actividad consiste en agregar
factores físicos a los elementos de los datos que componen el diccionario de
datos.
Para realizar esta actividad se debe tomar cada uno de los elementos de datos
(almacenes) y colocar el tipo de dato y su longitud (tamaño de campo).
3)- Confeccionar diagrama de acceso inmediato a los datos (DIAD) por cada
almacenamiento:
El DIAD es un diagrama de acceso inmediato a los datos, en donde se indican
los índices que tendrán un almacenamiento y él o los campos claves. Estos
campos claves serán aquellos que se detectarán en la normalización de los
almacenamientos.
Los DIAD se confeccionan una para cada almacenamiento del modelo, también
se especifica la longitud de cada almacenamiento, la cantidad aproximada de
distancia que este contendrá y la organización que tendrá (secuencial, o
secuencial indexado).
El sentido que se propone dar al DIAD es mostrar un modelo físico de cada
almacenamiento, detallando su estructura e índices a los cuales se podrá
acceder.
Página 14
PHP:20
PHP, acrónimo de Hipertext Preprocessor, es un lenguaje de programación
que se utiliza en la mayoría de los casos para el desarrollo y sitios web, pero es
un lenguaje de propósito general y el uso dependerá en gran parte a las
necesidades del programador.
Entre las características que hacen de PHP es un lenguaje popular y muy
poderoso para desarrollar aplicaciones se puede citar las siguientes:
Programación de páginas dinámicas en servidores.
Programación de aplicaciones de escritorio con GTK (PHPGTK)
Soporte para trabajar con múltiples base de datos.
Soporte para múltiples plataformas.
Soporte para múltiples servidores.
Facilidad de aprendizaje.
Portabilidad de código entre las diferentes plataformas.
Total libertad para distribuir las aplicaciones.
MySQL21
MySQL (cuya sigla en inglés se traslada a My Structured Query Language o
Lenguaje de Consulta Estructurado) se remite a principios de la década de
1980. Programadores de IBM lo desarrollaron para contar con un código de
programación que permitiera generar múltiples y extendidas bases de datos
para empresas y organizaciones de diferente tipo. Desde esta época
numerosas versiones han surgido y muchas de ellas fueron de gran
importancia. Hoy en día MySQL es desarrollado por la empresa Sun