Beruflich Dokumente
Kultur Dokumente
TRABAJO DE GRADO
BORRADOR FINAL
COCHABAMBA, 2016.
ESCUELA MILITAR DE INGENIERA
MCAL. ANTONIO JOS DE SUCRE
BOLIVIA
TRABAJO DE GRADO
BORRADOR FINAL
COCHABAMBA, 2016.
NDICE DE CONTENIDO
1. GENERALIDADES. ...................................................................................... 1
1.6. ALCANCE..................................................................................................... 9
i
1.7.1. Anlisis de variables. .................................................................................. 10
ii
2.2.6.2. Pruebas de caja negra. .............................................................................. 32
2.5.2. Framework.................................................................................................. 51
iii
2.5.2.3. PhoneGap. ................................................................................................. 54
iv
3. MARCO PRCTICO. .................................................................................. 77
v
3.3.7. Codificar el mdulo de gestin de cuentas de usuario. .............................. 97
vi
DE ABASTECIMIENTO DE PRODUCTOS. ............................................. 114
vii
4. ANLISIS DE VIABILIDAD ....................................................................... 141
ANEXOS
viii
NDICE DE TABLAS
Tabla 15: Prueba funcional del caso de uso registro de datos. .............................. 100
Tabla 16: Prueba funcional del caso de uso ingresar al sistema. ........................... 100
Tabla 17: Prueba funcional del caso de uso de gestin de usuarios. ..................... 101
ix
Tabla 19: Identificacin de actores involucrados en el mdulo. .............................. 102
Tabla 20: Descripcin de caso de uso expandido control de stock. ....................... 103
Tabla 21: Prueba funcional del caso de uso de control de stock. ........................... 107
Tabla 25: Descripcin de caso de uso expandido de Administrar producto ........... 109
Tabla 27: Descripcin de caso de uso expandido Registrar pedido ....................... 116
x
Tabla 38: Costos de Hardware y Software del servidor .......................................... 143
Tabla 42: Ecuacin bsica del tiempo en COCOMO (Modelo intermedio). ............ 146
xi
NDICE DE FIGURAS
xii
Figura 20: Diagrama de Modelado de Negocio Actual ............................................. 78
Figura 22: Diagrama de Caso de Uso de Alto Nivel del Sistema ............................. 88
Figura 35: Diagrama de caso de uso expandido de control de stock. .................... 103
xiii
Figura 39: Interfaz de control de stock. .................................................................. 106
Figura 49: Diagrama de robustez de Visualiza pedido y registra compras ............. 121
Figura 54: Prueba funcional del caso de uso registro de datos. ............................. 125
xiv
Figura 58: Autentificacin de usuarios ................................................................... 130
xv
ESCUELA MILITAR DE INGENIERA
MCAL. ANTONIO JOS DE SUCRE
BOLIVIA
CAPTULO 1
GENERALIDADES.
1. GENERALIDADES.
1.1. INTRODUCCIN.
Existe una gran variedad de sistemas de gestin dentro de las empresas. Estos
sistemas son muy tiles en una empresa al manejar informacin diaria, para diferentes
empresas, ya sean mini-empresas, tiendas, restaurantes, farmacias etc. Con
frecuencia, en el rea de sistemas de control de registros existen determinados
1 - 162
reportes que describen cantidad de productos, fecha de compra, tipo de producto, etc.
Los sistemas de control se pueden aplicar en una empresa que se dedica al servicio
de catering, tomando en cuenta los datos que sta conlleva se puede pronosticar la
cantidad de productos que se debe adquirir para abastecimiento y la preparacin de
alimentos.
1.2. ANTECEDENTES.
2 - 162
tambin se cuenta con dos ayudantes dependiendo a la cantidad de los comensales,
y un encargado de compras quin es el que realiza la compra de los ingredientes que
solicita el chef.
Para poder abastecerse con los ingredientes, el encargado de compras debe dirigirse
a un supermercado (o mercado local), con las listas proporcionadas por el dueo,
solicitadas por el chef, por consiguiente realiza la adquisicin de los ingredientes
requeridos para cubrir el servicio de catering solicitado en la empresa, posteriormente
realizadas las compras de las listas, el encargado debe llevar los ingredientes al
almacn, a continuacin el chef recoge los ingredientes en presencia del dueo
mediante las listas solicitadas en papel para posteriormente preparar los productos,
organizando a todo personal, verificando que todo est en orden en el debido tiempo
y no falte ningn producto. Las compras de los ingredientes que realiza el encargado
la realiza diariamente, en caso de escases o ausencia de algn ingrediente en almacn
el chef debe comunicar al dueo mediante llamada solicitando el ingrediente, el dueo
debe comunicarse con el encargado de compras para poder satisfacer sta necesidad,
en caso de no poder contactarse con el encargado de compras, la compra del producto
debe realizarla personalmente el dueo.
Para poder tener un control, el dueo debe realizar una lista de los ingredientes que
se solicitaron y compraron por el personal, lo cul conlleva un registro manual diario
que dificulta las actividades del dueo ya que desperdicia el tiempo en tareas
repetitivas.
Por otra parte los encargados de cocina del preparado de los alimentos empiezan con
la preparacin de acuerdo al men que se les proporcion para el da, ponindose de
acuerdo con los encargados de ensaladas y empleados de limpieza de vajillas. Entre
otro servicio los meseros estn encargados de la organizacin de las mesas y de
proveer los utensilios para cada mesa.
Una vez preparado el servicio de alimentos los comensales ingresan en una hora
especfica sirvindose los alimentos preparados, todo este servicio se realiza
diariamente, una vez cumplido el mes el encargado de la empresa que contrata el
3 - 162
servicio de catering realiza el pago mediante tarjeta bancaria o un depsito al dueo
de la empresa de catering as sucesivamente hasta cumplir el ao de contrato.
4 - 162
1.3.1.2. Identificacin de las causas.
Causa:
Efecto:
5 - 162
Catering integrado con una aplicacin mvil Android para garantizar la disponibilidad
de productos.
OBJETIVOS
ACCIONES
ESPECFICOS
6 - 162
OBJETIVOS
ACCIONES
ESPECFICOS
7 - 162
OBJETIVOS
ACCIONES
ESPECFICOS
1.5. JUSTIFICACIN.
8 - 162
1.5.1. Justificacin tcnica.
Es importante mencionar que una aplicacin mvil Android contiene elementos que
permitirn una comunicacin activa entre los usuarios para mejorar el rendimiento en
sus funciones, esto permite que se comparta informacin de modo interactivo, por otra
parte la aplicacin mvil Android en la actualidad es eficiente, accesible y fcil de usar.
Por tanto la combinacin de ambas tecnologas brindar la versatilidad necesaria para
que los participantes del proceso puedan realizar la gestin de productos y servicios
de una manera ms sencilla y con libertad de acceso.
La aplicacin mvil Android ayudar a reducir los errores en los registros por tanto se
evitar la compra de ingredientes ya existentes e innecesarios en el almacn.
Una vez implementado la aplicacin mvil Android ser capaz de obtener informacin
de datos actuales sobre los productos necesarios para el abastecimiento de la
empresa por medio de un servidor que permitir al dueo llevar un registro controlado.
1.6. ALCANCE.
Ingeniera de software
Lenguajes de programacin
Sistema de gestin de base de datos
Tecnologas mviles
El sistema tendr una proyeccin de vida til hasta que necesite una nueva
actualizacin teniendo un tiempo de vida estimado de 5 aos. As mismo el sistema
ser desarrollado en las gestiones I y II del ao 2016.
1.7. HIPTESIS.
Variable Independiente
Variables Dependientes
Variable independiente
10 - 162
Variable dependiente
sta variable se refiere a los posibles errores humanos que se presentan al momento
de realizar las listas de pedidos para el abastecimiento de productos.
Variable Independiente
El sistema de gestin de
Sistema Comparacin de
abastecimientos de productos
implementado y beneficios obtenidos sin el
y servicios de catering
probado uso del sistema y con el
integrado con una aplicacin
uso del sistema.
mvil Android.
Variables dependientes
Errores en la elaboracin de la
lista de productos que se Contador de errores Porcentaje de error
deben comprar.
11 - 162
VARIABLE DIMENSIN INDICADOR
Variable dependiente
CAPTULO 2
MARCO TERICO.
2. MARCO TERICO.
2.1.1. Entrevistas.
Una entrevista es una conversacin dirigida con un propsito especfico que utiliza un
formato de preguntas y respuestas. En la entrevista necesitamos obtener las opciones
de los entrevistados y su parecer acerca del estado actual del sistema, metas
organizacionales y personales y procedimientos informales. (Manilla Derbez & Torres
Villafaa, 2009)
Los mismos actores sociales son los que proporcionan los datos relativos a sus
conductas, opiniones deseos, actitudes, expectativas, etc. Cosas que por su misma
naturaleza es casi imposible observar desde afuera.
13 - 162
2.1.2. Observacin.
2.1.3. Cuestionario.
La tcnica del cuestionario se puede aplicar en la entrevista, esta tcnica define una
serie de preguntas que permiten medir una o ms variables.
14 - 162
Es un eficaz auxiliar en la observacin cientfica, las cuales son preguntas formuladas
por escrito y no es necesario la presencia del investigador llevndose a cabo mediante:
cuestionario por correo, cuestionario administrado por el entrevistado o cuestionario
administrado por el entrevistador. (Manilla Derbez & Torres Villafaa, 2009)
La Ingeniera de Software es una disciplina que integra el proceso, los mtodos, y las
herramientas para el desarrollo de software. Esta disciplina no solamente implica todos
los procesos para el desarrollo de software, sino tambin implica toda la
documentacin llevada a cabo en base a un enfoque sistemtico y organizado para su
trabajo. (Pressman R. , 2005)
15 - 162
Desarrollo de software: Se disea y programa el software.
Validacin de software: Se asegura que se cumplen los requisitos del cliente.
Evolucin del software: El software es modificado para adaptar cambios.
El punto principal de MVC es dividir la aplicacin en tres capas reales, una para datos,
otra para la lgica y otra para la presentacin consiguiendo que sea mantenible,
escalable y reutilizable, separa presentacin e interaccin de los datos del sistema.
(Compilando.ES., 2011)
16 - 162
El sistema se estructura en tres componentes lgicos que interactan entre s. El
componente Modelo maneja los datos del sistema y las operaciones asociadas a esos
datos. El componente Vista define y gestiona cmo se presentan los datos al usuario.
El componente Controlador dirige la interaccin del usuario (por ejemplo, teclas
oprimidas, clics del mouse, etctera) y pasa estas interacciones a Vista y Modelo.
(Sommerville I. , 2011)
Se usa cuando existen mltiples formas de ver e interactuar con los datos.
Tambin se utiliza al desconocerse los requerimientos futuros para la interaccin
y presentacin.
Figura 3: Metodologa XP
En esta primera fase se debe hacer una recopilacin de todos los requerimientos del
proyecto, tambin debe haber una interaccin con el usuario, y se debe planificar bien
entre los desarrolladores del proyecto que es lo que se quiere para el proyecto para
as lograr los objetivos finales. (Kniberg, 2007)
2 Fase: Diseo.
En esta fase se sugiere conseguir diseos simples y sencillos. Para procurar hacerlo
todo lo menos complicado posible para el usuario o cliente, para conseguir un diseo
fcilmente entendible e implementable que a la larga costar menos tiempo y esfuerzo
para desarrollarlo. En esta fase se lograr crear parte del proyecto la parte fsica (lo
bonito) la interfaz que tendr el usuario o cliente con el proyecto. (Kniberg, 2007)
3 Fase: Codificacin.
19 - 162
4 Fase: Pruebas.
20 - 162
de seguir de tal manera que el cdigo en el sistema se vea como si hubiera estado
escrito por una sola persona.
Programacin organizada.
Menor taza de errores.
Satisfaccin del programador.
2.2.3.2. ICONIX.
ICONIX es la metodologa que est de moda por su fcil aplicacin y rpida produccin
de software de calidad. ICONIX es un proceso simplificado en comparacin con otros
procesos ms tradicionales, hbrido entre RUP1 y XP, que unifica un conjunto de
mtodos de orientacin a objetos con el objetivo de abarcar todo el ciclo de vida de un
proyecto. Fue elaborado por Doug Rosenberg y Kendall Scott a partir de una sntesis
del proceso unificado de los tres amigos Booch, Rumbaugh y Jacobson y que ha
dado soporte y conocimiento a la metodologa ICONIX desde 1993. Presenta
claramente las actividades de cada fase y exhibe una secuencia de pasos que deben
ser seguidos. Adems ICONIX est adaptado a los patrones y ofrece el soporte de
UML, dirigido por casos de uso y es un proceso iterativo. (Scott & Rosenberg, 2001)
1
RUP, Rational Unified Process en espaol Proceso Unificado Racional es un producto del proceso de ingeniera de software que
proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organizacin del desarrollo. Su meta es
asegurar la produccin del software de alta calidad que resuelve las necesidades de los usuarios dentro de un presupuesto y tiempo
establecidos.
21 - 162
Iterativo e Incremental: Varias iteraciones ocurren entre el desarrollo del modelo
del dominio y la identificacin de los casos de uso. El modelo esttico es
incrementalmente refinado por los modelos dinmicos.
Trazabilidad: Cada paso est referenciado por algn requisito. Se define
trazabilidad como la capacidad de seguir una relacin entre los diferentes
artefactos producidos.
Dinmica del UML: La metodologa ofrece un uso dinmico del UML como los
diagramas del caso de uso, diagramas de secuencia y de colaboracin.
Fases de ICONIX
22 - 162
Dentro de esta fase se realizan las siguientes tareas:
Fase 3: Diseo
Diagramas de secuencia
Elaboracin rpida de prototipos
Fase 4: Implementacin
23 - 162
Las desventajas de ICONIX son:
El proceso unificado gil (PUA) adopta una filosofa en serie para lo grande e
iterativa para lo pequeo a fin de construir sistemas basados en computadora. Al
adoptar las actividades en fase clsicas del PU: concepcin, elaboracin, construccin
y transicin; el PUA brinda un revestimiento en serie (por ejemplo, una secuencia lineal
de actividades de ingeniera de software) que permite que el equipo visualice el flujo
general del proceso de un proyecto de software. (Pressman R. , 2010)
Sin embargo, dentro de cada actividad, el equipo repite con objeto de alcanzar la
agilidad y entregar tan rpido como sea posible incrementos de software significativos
a los usuarios finales. Cada iteracin del PUA aborda las actividades siguientes:
Iterativo e incremental
Manejo de los Casos de Uso
Centrado en la Arquitectura
Enfocado en los Riesgos
25 - 162
Simplicidad. Todo se describe concisamente usando unas pginas, no miles de
pginas.
Agilidad. El PUA se ajusta a los valores y principios de la Alianza gil.
Centrarse en las actividades importantes. La atencin se centra en las actividades
que realmente cuentan.
Herramienta de la independencia. Poder usar cualquier herramienta que desee
utilizar con la PUA. Es recomendable utilizar herramientas que mejor se adapten
para el trabajo, que a menudo son herramientas simples o incluso herramientas
de cdigo abierto.
Querer adaptar este producto para satisfacer sus propias necesidades. El producto
AUP es fcil de manejar a travs de cualquier herramienta de edicin de HTML.
Usted no necesita comprar una herramienta especial, o tomar un curso, para
adaptar el AUP
Agile Manifesto
En espaol: Manifiesto para el desarrollo gil de software, fue creado en 2001 y define
una herramienta de trabajo que puede mejorar los resultados en la construccin de
software, principalmente el que se desarrolla en modo colaboracional sta que se basa
en 4 valores y doce principios que se caracteriza para el soporte del desarrollo de
software. (Pez, 2014)
26 - 162
Figura 7: Manifiesto gil
Este es posiblemente el principio ms importante del manifiesto. Por supuesto que los
procesos ayudan al trabajo. Son una gua de operacin. Las herramientas mejoran la
eficiencia, pero sin personas con conocimiento tcnico y actitud adecuada, no
producen resultados.
Los procesos deben ser una ayuda y un soporte para guiar el trabajo. Deben adaptarse
a la organizacin, a los equipos y a las personas; y no al revs.
27 - 162
El manifiesto no afirma que no hagan falta. Los documentos son soporte de la
documentacin, permiten la transferencia del conocimiento, registran informacin
histrica, y en muchas cuestiones legales o normativas son obligatorios, pero se
resalta que son menos importantes que los productos que funcionan. Menos
trascendentales para aportar valor al producto.
28 - 162
El software que funciona es la prueba fehaciente de que se puede medir el
progreso del proyecto.
Desarrollo sostenible, capaz de mantener un ritmo constante.
Trabajo cercano de forma cotidiana entre las personas de negocio y desarrollares.
La conversacin cara a cara es la mejor forma de comunicacin.
Los proyectos estn construidos en torno de personas motivadas, a los cuales se
les tiene que dar la confianza necesaria para que realicen la tarea.
Atencin contina a la excelencia tcnica y al buen diseo.
Simplicidad.
Equipos que se auto organizan.
Adaptacin regular a las circunstancias cambiantes
Falta de documentacin.
Problemas derivados de la comunicacin oral.
Falta de reusabilidad.
Restricciones en cuanto a tamao de los proyectos abordables.
Mayor complejidad en la gestin del contrato con el cliente en caso de proyectos
de precio cerrado.
29 - 162
de vista del sistema. Umbrello UML Modeller soporta los siguientes tipos de diagramas:
(Fowler & Kendall, 1999)
Diagrama de casos de uso: Muestra a los actores (otros usuarios del sistema),
los casos de uso (las situaciones que se producen cuando utilizan el sistema) y
sus relaciones.
31 - 162
2.2.6. Pruebas de software.
Una vez generado el cdigo fuente, es necesario probar el software para descubrir (y
corregir) la mayor cantidad de errores posible antes de entregarlo al cliente. Su objetivo
es disear una serie de casos de prueba que tengan una alta probabilidad de encontrar
errores. (Pressman R. , 2005)
Este tipo de prueba se realiza sobre el sistema funcionando, comprobando que cumpla
con la especificacin (normalmente a travs de los casos de uso). Para estas pruebas,
se utilizan las especificaciones de casos de prueba. (Pressman R. , 2005)
La prueba funcional se refiere a las pruebas que verifican una accin o funcin
especfica del cdigo.
Las pruebas funcionales tienden a responder a la pregunta de "el usuario puede
hacer esto" o "se adapta esta funcin particular.
Caja negra
Caja blanca
32 - 162
Pruebas de caja negra.
Las pruebas de caja negra no son una alternativa para las tcnicas de caja blanca. En
vez de ello, es un enfoque complementario que es probable que descubra una clase
de errores diferente que los mtodos de caja blanca. (Pressman R. , 2005)
Las pruebas de caja negra intentan encontrar errores en las categoras siguientes:
Se ejecutan al menos una vez todos los caminos independientes de cada mdulo
Se utilizan las decisiones en su parte verdadera y en su parte falsa
Se ejecuten todos los bucles en sus lmites
Se utilizan todas las estructuras de datos internas
33 - 162
2.2.6.3. Prueba de Usabilidad.
Determina la usabilidad del sistema, determina cun bien el usuario podr usar y
entender la aplicacin. Identifica las reas de diseo que hacen al sistema de difcil
uso para el usuario.
Se deben crear casos de prueba para comprobar que se puede operar en el sistema
de forma adecuada
34 - 162
Figura 12: Arquitectura cliente/servidor mvil.
Presentacin:
Lgica de negocio:
Implementa las reglas que rigen la organizacin (reglas del negocio), se proveer
servicios como la ejecucin de aplicaciones (procedimientos).
Datos:
La caracterstica es:
2
Base de datos
3
Sistema Gestor de base de datos
35 - 162
2.3.2. Smart Client.
Cliente-servidor.
Los clientes inteligentes pueden trabajar con datos, incluso cuando no estn
conectados a Internet (que las distingue de las aplicaciones basadas en
navegador, que no funcionan cuando el dispositivo no est conectado a Internet)
36 - 162
Las aplicaciones cliente inteligentes tienen la capacidad de ser desplegadas y
actualizadas en tiempo real a travs de la red desde un servidor centralizado
Las aplicaciones cliente inteligentes de apoyo de mltiples plataformas e idiomas,
ya que se basan en servicios Web.
Las aplicaciones cliente inteligentes pueden funcionar en casi cualquier dispositivo
que tenga conexin a Internet, incluidas computadoras de escritorio, estaciones
de trabajo, porttiles, tablet PCs, PDAs, y telfonos mviles.
La arquitectura Thin Client o slim client que traducido es cliente liviano o cliente
delgado es una computadora cliente o un software de cliente en una arquitectura de
red cliente-servidor que depende del servidor central para las tareas de procesamiento,
y se enfoca principalmente en transportar la entrada y la salida entre el usuario y el
servidor remoto. (Davis & Steven, 2002)
37 - 162
A continuacin se describen grficamente el proceso que realiza la arquitectura Thin
Client o slim client.
38 - 162
Las desventajas que se tiene son: (Davis & Steven, 2002)
Los IDE proveen un marco de trabajo amigable para la mayora de los lenguajes de
programacin tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En
algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecucin,
en donde se permite utilizar el lenguaje de programacin en forma interactiva, sin
necesidad de trabajo orientado a archivos de texto. (Rehman, Paul, & Paul., 2002)
39 - 162
verdaderamente nativo (porque todos representacin diseo se realiza a travs de
puntos de vista Web en lugar de marco interfaz de usuario nativa de la plataforma) ni
puramente (porque no son aplicaciones simplemente Web, pero se empaquetan
basado en la Web como aplicaciones para la distribucin y el acceso a las API nativas
de los dispositivos). Mezclando fragmentos de cdigo nativo e hbridos ha sido posible
desde la versin 1.9.
Flujo de trabajo multiplataforma (CLI): se usa este flujo de trabajo si se quiere que
la aplicacin ejecute en los sistemas operativos mviles como sea posible, con
poco necesidad especfica de la plataforma desarrollo
Flujo de trabajo centrado en plataforma: se usa este flujo de trabajo si se desea
concentrarse en construir una aplicacin para una sola plataforma y necesitan
poder modificarlo en un nivel inferior.
40 - 162
Sublime Text permite tener varios documentos abiertos mediante pestaas, e incluso
emplear varios paneles para aquellos que utilicen ms de un monitor. Dispone de
modo de pantalla completa, para aprovechar al mximo el espacio visual disponible de
la pantalla.
41 - 162
Configuracin total de Keybindings: Todas las teclas pueden ser sobrescritas a
nuestro gusto.
Acceso rpido a lnea o archivo: Se puede abrir un archivo utilizando el conjunto
de teclas Cmd+P en Mac OS X o Ctrl+P en Windows y Linux y escribiendo el
nombre del mismo o navegando por una lista. Tambin se puede ir a una lnea
utilizando los dos puntos ":" y el nmero de lnea.
Paleta de Comandos: Un intrprete de Python diseado solo para el programa con
el cual se puede realizar infinidad de tareas.
Coloreado y envoltura de sintaxis: Si se escribe en un lenguaje de programacin o
marcado, resalta las expresiones propias de la sintaxis de ese lenguaje para
facilitar su lectura.
Pestaas: Se pueden abrir varios documentos y organizarlos en pestaas.
Resaltado de parntesis e indentacin: Cuando el usuario coloca el cursor en un
parntesis, corchete o llave, resalta sta y el parntesis, corchete o llave de cierre
o apertura correspondiente.
Las ventajas son:
Un editor de texto que poco a poco suplant a TextMate en Mac y que se ha ido
expandiendo en otras plataformas a ritmo acelerado.
Esta aplicacin es bastante personalizable al punto que podemos cambiar el
comportamiento del editor, el tamao y tipo de tipografa, los atajos de teclado, los
esquemas de colores y otras series de opciones para acomodar la aplicacin a
nuestras necesidades.
La desventaja es:
Sublime Text no es gratis, sin embargo podemos usar la versin de prueba por
tiempo indefinido, solo que nos saldr un popUp cada vez que guardemos
nuestros archivos una determinada cantidad de veces, recordndonos que sera
bueno para su desarrollador, el pagar por usarlo
42 - 162
2.4.1.3. Android developer tools.
Herramientas de desarrollo de Android (ADT) es un plugin para el IDE Eclipse que est
diseado para darle un entorno potente, integrado en el que construir aplicaciones de
Android.
ADT ampla las capacidades de Eclipse para que pueda configurar rpidamente
nuevos proyectos Android, crear una interfaz de usuario de la aplicacin, agregar
paquetes basados en la API del marco de Android, depurar sus aplicaciones utilizando
las herramientas del SDK de Android, e incluso exportar firmados (o sin firmar) los
archivos .apk con el fin de distribuir su aplicacin. (Ducrohet, 2013)
Dev Tools evita que el sistema operativo genere mensajes de error, incluso cuando
ests detenido en un punto de interrupcin durante largos perodos.
Dev Tools enva seales a travs de actualizaciones de pantalla. La aplicacin
hace parpadear un rectngulo de color rosa brevemente en cualquier pantalla para
indicar las secciones que estn siendo rediseadas.
43 - 162
La desventaja es:
Para poder usar Dev Tool en un dispositivo de desarrollo real, se debe copiar la
imagen del sistema que va por defecto dentro del Kit de desarrollo de software
Android y copiarlo desde un emulador ejecutando el comando adb-e pull
/system/app/Development.apk ./Development.apk, el cual copia la aplicacin, un
archivo tipo .apk, en el directorio actual. Para instalar la aplicacin, se usa el
comando adb -d install Development.apk.
44 - 162
Un emulador del entorno. si se desarrolla una aplicacin para mviles desde una
computadora de escritorio, permite saber cmo la vera el usuario final.
Actualmente, plataformas como los sistemas operativos Android, iOS y Windows
Phone ofrecen kits para desarrollar software que funcione sobre sus entornos, y
muchas redes sociales tienen SDK especficos para desarrollar todo tipo de
aplicaciones en diferentes lenguajes. (Shane Conder, 2012)
La desventaja:
Una aplicacin mvil es una aplicacin informtica diseada para ser ejecutada en
telfonos inteligentes, tabletas y otros dispositivos mviles. Por lo general se
4
Agenda electrnica de bolsillo
45 - 162
encuentran disponibles a travs de plataformas de distribucin, operadas por las
compaas propietarias de los sistemas operativos mviles como Android, iOS,
BlackBerry5, Windows Phone6, entre otros. (Petrazzini, 2012)
El cdigo fuente de estas aplicaciones se escribe en funcin del dispositivo para el que
se trabaje. Este cdigo fuente se compila a un ejecutable. Es un proceso similar al de
las tradicionales aplicaciones de escritorio. Todos aquellos recursos (imgenes,
iconos, etc.) que la aplicacin necesita para ejecutarse quedan en el archivo
compilado. Este archivo esta ya listo para ser distribuido y subido a las App stores
5
Sistema operativo mvil BlackBerry.
6
Sistema operativo mvil desarrollado por Microsoft.
7
Lenguaje de programacin basado en el lenguaje de programacin B
8
Lenguaje de programacin hibrido orientado a objetos
9
Sistema de posicionamiento global, utiliza triangulacin para determinar en todo el globo la posicin con una
precisin de metros.
46 - 162
(tienda de aplicaciones) especificas del dispositivo para el que se trabaja. Una vez
subido el ejecutable, las App stores tiene un proceso de auditoria de la aplicacin para
evaluar si se adecua a los requerimientos del sistema.
Aplicaciones nativas que hacen uso de todas las funciones del telfono, tales como
la cmara del telfono mvil, geolocalizacin, o a la agenda de direcciones de
usuarios.
Aplicaciones nativas que no necesitan estar conectados a Internet para ser
utilizadas.
Aplicaciones nativas especificas para el telfono mvil en el que se ejecutan, ya
que utilizan las caractersticas de ese telfono en particular.
47 - 162
Aplicaciones nativas que pueden ser distribuidos en el mercado de forma gratuita
o no. (por ejemplo, Apple Store para iPhone o tienda Ovi10 de Nokia para los
telfonos).
El mismo cdigo base se puede utilizar para todos los dispositivos, incluyendo iPhone
y Android. Sin embargo, como inconveniente, las aplicaciones web no hacen uso de
caractersticas nativas del telfono, tales como la cmara o la geolocalizacin. Las
aplicaciones web no se pueden vender en tiendas virtuales.
Las aplicaciones web hacen uso de las tecnologas web existentes, tales como Java
script y CSS, lo que significa que las barreras tcnicas de entrega son bajas. Los
desarrolladores pueden usar sus habilidades anteriores para desarrollar una aplicacin
web, mientras que las aplicaciones nativas pueden necesitar una formacin adicional,
dado que las tecnologas son mas recientes.
10
Tienda de Nokia que ofrece servicios de compra de aplicaciones para usuarios.
11
HyperTextMarkupLanguaje (Lenguaje de marcas de hipertextos).
12
Cascading Style Sheets (Hojas de estilo en cascada).
13
Es un lenguaje de programacin interpretado.
48 - 162
Figura 16: Arquitectura de aplicacin mvil web
Una aplicacin mvil hibrida es una aplicacin mvil nativa con HTML incrustado.
Usando un framework de desarrollo comn, las empresas pueden desarrollar
aplicaciones multiplataforma que utilizan tecnologas web (como HTML, Java script y
CSS), haciendo uso de las funciones del telfono, determinadas partes de la aplicacin
se programan utilizando tecnologas web. Las porciones de web se puede descargar
desde la web, o embebidas dentro de la aplicacin.
Esta opcin permite a las empresas cosechar todos los beneficios de las aplicaciones
nativas al tiempo que garantiza la longevidad de los proyectos asociados con las
tecnologas web establecidas previamente.
49 - 162
Se utilizan este tipo de aplicaciones como contenedores de aplicaciones web
existentes, es una manera econmica y rpida de lograr presencia en las tiendas de
aplicaciones.
Las aplicaciones hibridas anan lo mejor de los dos anteriores modelos. Este tipo de
aplicaciones permite el uso de tecnologas multiplataforma como HTML, Java script y
CSS pero permiten acceder a una buena parte de los dispositivos y sensores del
telfono. Buena parte de la infraestructura es tipo web y la comunicacin son los
elementos del telfono se hace mediante comunicadores tales como Phonegap 14. Un
buen ejemplo de aplicaciones hibridas es Facebook. Se descarga de la App store y
cuenta con todas las caractersticas de una aplicacin nativa pero requiere ser
actualizada ocasionalmente.
14
Framwork de cdigo abierto para crear aplicaciones mviles.
50 - 162
El proceso de desarrollo para este tipo de aplicaciones es algo mas complicado. Al
igual que para las aplicaciones nativas, el cdigo una vez creado se compila a un
ejecutable. Adems, tambin como en las aplicaciones web se genera cdigo HTML,
CSS y Java script a ejecutar en un navegador. Ambos cdigos se compilan para ser
subidos mediante un paquete distribuible a la App store.
2.5.2. Framework
Representa una arquitectura de software que modela las relaciones generales de las
entidades del dominio, y provee una estructura y una especial metodologa de trabajo,
la cual extiende o utiliza las aplicaciones del dominio. (Sosinformatico, 2012)
51 - 162
Manipulacin de la hoja de estilos CSS.
Efectos y animaciones.
Animaciones personalizadas.
AJAX.
Soporta extensiones.
Las funciones que ofrece son muchas, pero resultan difciles de personalizar. Su
aspecto visual es estandarizado y no se integra con el de la plataforma. En algunos
casos, no queda otra opcin que usar JavaScript simple para adaptar la aplicacin
a nuestras necesidades.
Como es necesario invocar a un archivo para utilizar sus funciones, ralentiza
levemente la carga de la pgina.
Su manejo de CSS suele resultar innecesariamente complejo. A veces cuesta
saber qu clases utilizar.
52 - 162
No existen muchas plantillas prediseadas sobre las cuales empezar a construir
nuestra aplicacin. (Chaffer & Swedberg, 2007)
2.5.2.2. AppCelerator
AppCeleator presta apoyo a las tecnologas tradicionales de la web tales como HTML,
CSS y JavaScript, pero soporta aplicaciones desarrolladas con Adobe Flash, Microsoft
Silverlight, AJAX, en Mac OSX, Windows, Linux, iPhone o Android plataformas, con lo
que se abre ms el marco de desarrolladores web para las plataformas mviles.
Adems de enfocarse al mundo mvil, tambin se enfoca en las plataforma escritorio
con lo que hace competencia con el AIR de Adobe, pero teniendo la ventaja que se ha
introducido en el mundo mvil antes que este. (AndroidGuys, 2009)
53 - 162
Aumenta en ms de un 70 % la productividad al escribir aplicaciones
Permite utilizar la experiencia de los desarrolladores en tecnologas y estndares
Web
2.5.2.3. PhoneGap.
54 - 162
PhoneGap maneja API que permiten tener acceso a elementos como el acelermetro,
la cmara, los contactos en el dispositivo, la red, el almacenamiento, las notificaciones,
etc. Estas API se conectan al sistema operativo usando el cdigo nativo del sistema
husped a travs de una Interfaz de funciones forneas en Javascript.
55 - 162
La aplicacin no es ms que una pgina web, por lo que el aspecto depender del
framework web utilizado. Necesitaremos el uso de frameworks HTML mviles
como Sencha Touch, jQuery mobile, Jo, Sproutcore, XUI, jQTouch si queremos
que parezca una aplicacin nativa.
No llega al rendimiento de una aplicacin nativa, pues el HTML, CSS y Javascript
debe ser leido e interpretado por el engine del navegador cada vez arranca.
2.5.3.1. Python
56 - 162
varios estilos: programacin orientada a objetos, programacin imperativa y
programacin funcional. Otros paradigmas estn soportados mediante el uso de
extensiones.Python usa tipado dinmico y conteo de referencias para la administracin
de memoria.
57 - 162
Portable: es un lenguaje muy portable (ya sea en mac, linux o windows)
en comparacin con otros lenguajes.
La desventaja es:
2.5.3.2. Ruby
Ruby sigue el "principio de la menor sorpresa", lo que significa que el lenguaje debe
comportarse de tal manera que minimice la confusin de los usuarios experimentados.
Combina una sintaxis inspirada en Python, Perl con caractersticas de programacin
orientada a objetos similares a Smalltalk, Comparte tambin funcionalidad con otros
lenguajes de programacin como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de
programacin interpretado en una sola pasada y su implementacin oficial es
distribuida bajo una licencia de software libre (Dewit O. , 2003)
Orientado a objetos
Existe diferencia entre maysculas y minsculas.
Mltiples expresiones por lneas, separadas por punto y coma ;.
Dispone de manejo de excepciones.
Libreras de extensiones dinmicamente si el (Sistema Operativo) lo permite.
Dinmico
Entiende expresiones regulares
Multiplataforma
Recolector de basura inteligente
Sintaxis flexible
Sobre carga de operadores
58 - 162
Puede cargar libreras de extensiones dinmicamente si el (Sistema Operativo) lo
permite.
Porttil
Desventajas de Ruby:
2.5.3.3. Java.
59 - 162
Las caractersticas son:
Es sencillo de utilizar.
Tiene soporte dado por Sun.
Es dinmico.
Java ha sido diseado para aplicaciones distribuidas.
Es Interpretado y necesita interprete para ejecutar programas.
Es robusto, es decir fiable.
Es de arquitectura neutral, independiente de cualquier plataforma.
De alto rendimiento, permite que los programas se ejecuten en tiempo de
ejecucin.
Es multihilo, ejecuta varias tareas de forma simultnea.
La desventaja:
Existen mltiples definiciones sobre lo que son los Servicios Web, lo que muestra su
complejidad a la hora de dar una adecuada definicin que englobe todo lo que son e
implican. Una posible sera hablar de ellos como un conjunto de aplicaciones o de
tecnologas con capacidad para interpretar en la Web. Estas aplicaciones o
tecnologas intercambian datos entre s con el objetivo de ofrecer unos servicios. Los
proveedores ofrecen sus servicios como procedimientos remotos y los usuarios
60 - 162
solicitan un servicio llamando a estos procedimientos a travs de la Web. (Girons,
2013)
Un servicio web RESTful es una aplicacin que se crea a partir de los principios de
REST, el cual es un conjunto de ideas para transferir recursos de una forma elegante.
La sigla REST significa Representational State Transfer y traduciendo al espaol
significara Transferencia De Estado Representacional. (Revelo, 2015)
REST utiliza formatos de url para hacerlas ms amigables a la vista de quienes desean
acceder a la API. Esto con el fin de que sean predecibles y claras ante la vista de un
61 - 162
humano, lo que permite navegar a travs de los recursos de forma intuitiva. Este estilo
se enfoca en el recurso como unidad fundamental de los servicios web y estandariza
de forma amigable su transferencia entre aplicaciones.
Los servicios Web RESTful son completamente sin estado, ello puede ser
comprobado mediante el reinicio el servidor y comprobando si las
interacciones son capaces de sobrevivir.
62 - 162
No hay un estndar en sus respuestas por lo que no se definen tipos de datos.
Es muy comn que un servicio web RESTful ofrezca distintos formatos para la
comunicacin de datos. Los ms frecuentes son Json y XML, sin embargo pueden
usarse distintas variedades como HTML, CSV, PDF, etc (Revelo, 2015)
Tambin es necesario que el usuario cree primero una cuenta y luego se loguee para
poder obtener una clave de acceso a la API. Sin estas condiciones el usuario no tendr
acceso a la informacin. (Revelo, 2015)
En cuanto a la estructura del servicio, nos guiaremos en un estilo sencillo MVC para
manejar las peticiones del cliente. As que los pasos de desarrollo quedaran de la
siguiente forma:
63 - 162
definiendo una gramtica XML15 para describir servicios de red como colecciones de
puntos finales de comunicacin capaces de intercambiar mensajes. Definiciones de
servicio WSDL proporcionan documentacin para sistemas distribuidos y sirven como
una receta para la automatizacin de los detalles involucrados en las aplicaciones de
comunicacin. (Girons, 2013)
Un documento WSDL define los servicios como colecciones de puntos finales de red
o puertos. En WSDL, la definicin abstracta de puntos finales y los mensajes se separa
de su despliegue de red o formato de datos de enlaces concretos. Esto permite la
reutilizacin de definiciones abstractas: mensajes, que son descripciones abstractas
de los datos que se intercambian, y los tipos de puertos que son colecciones abstractas
de operaciones. El protocolo concreto y especificaciones de formato de datos para un
tipo de puerto en particular constituyen una unin reutilizable. Un puerto se define
mediante la asociacin de una direccin de red con una unin reutilizable, y una
coleccin de puertos define un servicio. Por lo tanto, un documento WSDL utiliza los
siguientes elementos en la definicin de servicios de red: (Girons, 2013)
15
XML, eXtensible Markup Language ('lenguaje de marcasextensible'), es un lenguaje de marcas desarrollado
por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible.
64 - 162
Es importante observar que WSDL no introduce un lenguaje de definicin de nuevo
tipo. WSDL reconoce la necesidad de sistemas de tipo rico para describir formatos de
mensaje, y es compatible con la especificacin de esquemas XML (XSD), como su
sistema de tipo cannico. Sin embargo, ya que es razonable esperar que una
gramtica sistema de tipo nico que se utiliza para describir todos los formatos de los
mensajes presentes y futuros, WSDL permite el uso de lenguajes de definicin de otro
tipo a travs de la extensibilidad. (Girons, 2013)
Adems, WSDL define un mecanismo de unin comn. Esto se utiliza para conectar
un formato o estructura de datos de protocolo especfico a un resumen del mensaje,
el funcionamiento, o de punto final. Se permite la reutilizacin de definiciones
abstractas. (Girons, 2013)
Adems del marco de definicin de servicio bsico, esta especificacin incluye las
extensiones de unin especficos para los siguientes protocolos y formatos de
mensaje:
SOAP.
HTTP GET / POST.
MIME16
Describe un servicio Web a partir de los mensajes que acepta y las operaciones
que se pueden ejecutar sobre ellos.
16
MIME, Multipurpose Internet Mail Extensions o MIME (en espaol "extensiones multipropsito de correo de
internet") son una serie de convenciones o especificaciones dirigidas al intercambio a travs de Internet de todo
tipo de archivos (texto, audio, vdeo, etc.)
65 - 162
WSDL es extensible y se pude utilizar para describir, prcticamente, cualquier
servicio de red, incluyendo SOAP sobre HTTP
Tener perfectamente definida la interfaz del servicio web nombre de la funcin,
parmetros y orden.
66 - 162
REST desacopla la arquitectura, y las comunicaciones de menor peso entre productor
y consumidor, hacer descansar un estilo de construccin popular para los basados en
la nube API, tales como los proporcionados por Amazon, Microsoft y Google. Cuando
los servicios Web utilizan la arquitectura REST, se les llama API REST (Application
Programming Interfaces) o APIs REST.
Arquitectura REST implica la lectura de una pgina Web designada que contiene
unXML archivo. El archivo XML describe e incluye el contenido deseado. Una vez
definido de forma dinmica, los consumidores pueden acceder a la interfaz.
Es independiente, se puede tener un servidor que trabaja con PHP, Java, Python,
NodeJS o lo que se prefiera, o te imponga el proyecto.
El servidor y el cliente web se comunican en un formato de intercambio de
informacin como puede ser JSON, aunque podra ser otro lenguaje como XML.
67 - 162
Las ventajas que presenta son:
Separacin cliente/servidor
Independencia de tecnologas / lenguajes
Fiabilidad, escalabilidad, flexibilidad
Experiencia de usuario
API REST no mantiene estado y eso hace que se tenga que montar una
infraestructura propia para poder conservar el conjunto de la aplicacin.
Puede producirse en determinadas circunstancias mayor rigidez en el desarrollo
2.5.5. JavaScript
68 - 162
Tradicionalmente se vena utilizando en pginas web HTML para realizar operaciones
y nicamente en el marco de la aplicacin cliente, sin acceso a funciones del servidor.
Actualmente es ampliamente utilizado para enviar y recibir informacin del servidor
junto con ayuda de otras tecnologas como AJAX. JavaScript se interpreta en el agente
de usuario al mismo tiempo que las sentencias van descargndose junto con el cdigo
HTML. (Shafer, 2003)
69 - 162
La desventaja es:
2.5.6. HTML
70 - 162
siendo su invencin crucial en la aparicin, desarrollo y expansin de la World Wide
Web (WWW). Es el estndar que se ha impuesto en la visualizacin de pginas web y
es el que todos los navegadores actuales han adoptado.
Fcil de usar
Permite la comunicacin rpida y directa con una o varias personas que se
encuentren en cualquier parte del mundo.
Desarrollo de diferentes proyectos y propuestas para darlos a conocer a travs
de la red.
Se puede contactar con diferentes personas para realizar negocios, trabajos,
proyectos, etc.
Es muy bsico
No ofrece diversidad de opciones
No es muy completo
2.5.6. CSS
71 - 162
Separar la definicin de los contenidos y la definicin de su aspecto presenta
numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos
y con significado completo (tambin llamados "documentos semnticos"). Adems,
mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento y
permite visualizar el mismo documento en infinidad de dispositivos diferentes.
Al crear una pgina web, se utiliza en primer lugar el lenguaje HTML/XHTML para
marcar los contenidos, es decir, para designar la funcin de cada elemento dentro de
la pgina: prrafo, titular, texto destacado, tabla, lista de elementos, etc.
Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de
cada elemento: color, tamao y tipo de letra del texto, separacin horizontal y vertical
entre elementos, posicin de cada elemento dentro de la pgina, etc.
Lograr una apariencia uniforme de todo el sitio al activar una sola definicin de
estilo en cada pgina,
Cambiar un aspecto en todo el sitio web con tan slo editar unas pocas lneas,
Hacer que los cdigos html sean ms fciles de leer ya que los estilos se definen
por separado,
Permitir que las pginas se carguen ms rpido ya que hay menos cantidad de
html en cada pgina,
Posicionar los elementos de la pgina de una manera ms uniforme.
72 - 162
Las desventajas son:
73 - 162
JSON es un formato de datos muy ligero basado en un subconjunto de la sintaxis
de JavaScript: literales de matrices y objetos. Como usa la sintaxis JavaScript, las
definiciones JSON pueden incluirse dentro de archivos JavaScript y acceder a
ellas sin ningn anlisis adicional como los necesarios con lenguajes basados en
XML.
74 - 162
depuracin puede reducir el rendimiento. MySQL est escrito en una mezcla de C y
C++. (Piattini, 1993) (Gutirrez, 2010)
La caracterstica es:
Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor
rendimiento.
Bajo costo en requerimientos para la elaboracin de bases de datos, ya que debido
a su bajo consumo puede ser ejecutado en una mquina con escasos recursos sin
ningn problema.
Facilidad de configuracin e instalacin.
Soporta gran variedad de Sistemas Operativos
Su conectividad, velocidad, y seguridad hacen de MySQL Server altamente
apropiado para acceder bases de datos en Internet
75 - 162
2.5.8.2. Microsoft Structured Query Language Server (SQL server).
Microsoft SQL Server es un sistema para la gestin de bases de datos producido por
Microsoft basado en el modelo relacional. Los lenguajes para consultas de Microsoft
SQL Server 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 o
PostgreSQL o MySQL. (Petkovic, 2008)
Este sistema incluye una versin reducida, llamada MSDE con el mismo motor de base
de datos pero orientado a proyectos ms pequeos, que en sus versiones 2005 y 2008
pasa a ser el SQL Express Edition, que se distribuye en forma gratuita. (Petkovic, 2008)
76 - 162
Un cuadro de dilogo comn de programacin que permite realizar acciones de
los cuadros de dilogo de administracin en otro momento.
77 - 162
Soporta funciones SQL definidas por el usuario (UDF).
El cdigo fuente es de dominio pblico y se encuentra muy bien documentado.
No requiere configuracin.
No se requiere uso de servidor (proceso activo para atender las peticiones).
Fcilmente portable (multiplataforma windows, linux, mac, dispositivos mviles,
tablets, etc.).
En su versin 3, SQLite permite bases de datos de hasta 2 Terabytes de tamao,
y tambin permite la inclusin de campos tipo BLOB.
Acceso mucho ms rpido.
Prcticamente cualquier lenguaje y SO lo soportan.
Registros de Longitud Variable
Limitaciones en Where: esta limitacin est dada por el soporte para clausuras
anidadas.
Falta de Clave Fornea: se hace caso omiso de las claves forneas; esto quiere
decir, cuando se realice la creacin de la tabla desde el modo consola, est
permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma.
Falta de documentacin en espaol: si bien ya contamos con una comunidad
latino americana de SQLite, sera importante encontrar mucha ms
documentacin, libros, review, etc. como muchos otros motores de bases de datos
cuentan hoy en da.
Una Base de Datos SQLite es un nico archivo de disco ordinario y que adems puede
estar situado en cualquier parte del directorio dentro de las jerarquas de directorios.
Esto trae como ventaja que el archivo de Base de Datos puede ser fcilmente copiado
en algn dispositivo de memoria por ejemplo en USB o por correo electrnico.
(Rmmel, 2007)
78 - 162
2.5.9 Herramientas de gestin
Se entiende que las herramientas de gestin son todos los sistemas, aplicaciones,
controles, soluciones de clculo, metodologa, etc., que ayudan a la gestin de una
empresa.
Google App Engine es un servicio de alojamiento web que presta Google de forma
gratuita hasta determinadas cuotas. Este servicio permite ejecutar aplicaciones sobre
la infraestructura de Google. Si no se cuenta con un dominio propio, Google
proporciona uno con la siguiente estructura, midominio.appspot.com. Tambin permite
implementar un dominio propio a travs de Google Apps. Por el momento las cuentas
gratuitas tienen un lmite de 500 megabyte de almacenamiento permanente y la
suficiente cantidad de ancho de banda y CPU para cinco millones de visitas
mensuales, y si la aplicacin supera estas cuotas, se pueden comprar cuotas
adicionales.
Almacn de datos
Google accounts
79 - 162
de google accounts es una avance ya que permite a los usuarios acceder a las
aplicaciones de una forma ms rpida.
Tambin mirando el desarrollo, evitar el desarrollo e implementacin de un sistema de
cuentas de usuario, es un ahorro importante en tiempo (y en dinero).
Servicios
Otro de los puntos a destacar son algunas caractersticas que app engine proporciona
y que nos facilitan el trabajo al administrar nuestra aplicacin:
Desarrollo local
80 - 162
Google app engine permite que generes en local un entorno idntico al de google app
engine en la nube. Es decir, podrs realizar tu app y probarla con la mxima seguridad
que una vez la subas, todas las features de tu app funcionarn a la perfeccin.
Control
Python
Zona de pruebas
81 - 162
Google App Engine funciona nicamente para aplicaciones interactivas, del tipo
peticin web-respuesta, proceso que debe ser completado en pocos segundos.
Los accesos a otros sitios web se realizan a travs de un API especfico de Google,
que impide que se puedan modificar determinadas cabeceras HTTP
82 - 162
consumidor o el proveedor de servicio.
Seguridad: puede mejorar debido a la centralizacin de los datos. La seguridad es
a menudo tan bueno o mejor que otros sistemas tradicionales, en parte porque los
proveedores son capaces de dedicar recursos a la solucin de los problemas de
seguridad que muchos clientes no pueden permitirse el lujo de abordar. El usuario
de la nube es responsable de la seguridad a nivel de aplicacin. El proveedor de
la nube es responsable de la seguridad fsica.5
Mantenimiento: en el caso de las aplicaciones de computacin en la nube, es ms
sencillo, ya que no necesitan ser instalados en el ordenador de cada usuario y se
puede acceder desde diferentes lugares.
84 - 162
ESCUELA MILITAR DE INGENIERA
MCAL. ANTONIO JOS DE SUCRE
BOLIVIA
CAPTULO 3
MARCO PRCTICO.
3. MARCO PRCTICO.
Para el desarrollo del sistema, se realizar el modelado del negocio actual, mediante
el cual se va describir detalladamente el estado de los procedimientos y actividades
actuales para el proceso de abastecimiento de productos, en el cual se visualizar la
secuencia de acciones y de personas involucradas. Posteriormente se propondr un
modelado de negocio alternativo, en el cual se pretende mejorar el proceso que se
lleva a cabo, mediante la automatizacin de varios de los procesos mencionados.
INICIO
Realiza el men del
da con el Recibe lista de
encargado de la ingredientes
empre Confirma contrato
de la empresa que
requiere el servicio
Se comunica con el de catering
dueo de la Se dirige al mercado
empresa para
entregarle el pedido
de productos e Firma contrato para
ingredientes un determinado
tiempo
Realiza compras
Se comunica con el
chef mediante
llamada o sms
Se dirige al almacen
del dueo
Manda al chef a la
empresa para que
registre el pedido
de productos Entrega los
ingredientes
solicitados
Si
Realiza nuevamente
Elimina de la lista de
la lista de
pedido
ingredientes
Se comunica con el
encargado de
compras mediante
llamada o sms
Entrega lista de
Recoge los
ingredientes que
ingredientes
debe comprar
Se dirige a la
Recibe los
empresa que se le
ingredientes
asign
FIN
78 - 162
3.1.3. Identificar las deficiencias del proceso actual.
79 - 162
Figura 21: Diagrama de Modelado de Negocio Alternativo del proceso de gestin de
abastecimiento de productos y servicios de catering.
Se almacena los
INICIO datos en la base de Ingresa a la
datos del Google aplicacin
Cloud Storage
Ingresa a la Ingresa a la
aplicacin aplicacin
Registra sus datos y
tipo de usuario
Reportes
Registra sus datos y Registra sus datos y
Ingresa a la
tipo de usuario tipo de usuario
aplicacin con
usuario y
contrasea
Ingresa a la Ingresa a la
aplicacin con aplicacin con
Recibe lista de
usuario y usuario y FIn ingredientes que
contrasea contrasea
debern ser
comprados
Guarda los
formularios
80 - 162
Tabla 3: Descripcin de las Ventajas y Desventajas de los Modelos de Desarrollo de
Software.
MODELO
VENTAJAS DESVENTAJAS
Programacin organizada Es recomendable emplearlo solo
XP
Menor taza de errores en proyectos a corto plazo.
Satisfaccin del Altas comisiones en caso de fallar.
programador.
sta metodologa necesita
Proceso gil para obtener un
informacin rpida y puntual de los
sistema informtico.
requisitos, del diseo y de las
Dedicada a la construccin
ICONIX estimaciones.
de sistemas de gestin de
Es una metodologa que no debe
pequea y mediana
ser usada en proyectos de larga
complejidad con la
duracin.
participacin de los usuarios
finales.
Simplicidad. Todo se El AUP es un producto muy pesado
describe concisamente en relacin al RUP.
usando unas pginas, no Como es un proceso simplificado,
El
miles de pginas. muchos desarrolladores eligen
proceso
Agilidad. El AUP se ajusta a trabajar con el RUP, por tener a
unificado
los valores y principios de la disposicin mas detalles en el
gil
Alianza gil. proceso.
(PUA)
Centrarse en las actividades
importantes.
Querer adaptar este
producto para satisfacer sus
propias necesidades.
81 - 162
Realizando la comparacin de las distintas metodologas de desarrollo que se
proponen se tom la decisin de aplicar en el desarrollo del presente proyecto la
metodologa de desarrollo gil ICONIX debido que es un proceso simple, abierto y gil
que est dirigido a grupos de trabajo pequeos y trabajos de corta duracin. De igual
manera por que utiliza como base fundamental los diagramas de modelado de UML y
su orientacin a objetos, y finalmente por el enfoque iterativo e incremental que lleva
a cabo en cada fase del proceso de desarrollo del software.
82 - 162
OBJETIVOS FASES ELABORACIN
Realizar pruebas al mdulo de
usuarios.
Anlisis de mdulo.
83 - 162
OBJETIVOS FASES ELABORACIN
culminacin de diagrama de dominio.
Implementar el mdulo para la gestin
de abastecimiento de productos.
Realizar pruebas de funcionamiento.
Implementar Anlisis de
mecanismos de requisitos
conectividad entre Diseo Seleccionar mecanismos de conexin
Lenguajes de
Ventajas Desventajas
programacin
84 - 162
Python Simplificado y rpido
Elegante y flexible: el Los programas interpretados
lenguaje da muchas son ms lentos que los
herramientas compilados.
Ordenado y limpio
Portable: Ya sea en mac,
linux o windows
Ruby
Rendimiento comparable a
Orientado a objetos
Perl o Python, pero lejos de
Dinmico
C o C++
Multiplataforma
No existen muchas
Porttil
frameworks desarrolladas
en Ruby
No existe una framework
de GUI multi-plataforma
ampliamente aceptada
85 - 162
Como el proyecto est orientada al desarrollo de una aplicacin mvil se considera
Python debido a que est es una excelente solucin para poner en prctica la
validacin de datos de un formulario en el lado del cliente y adems permite la
creacin de efectos dinmicos tales como imgenes dinmicas combinada con
HTML, JavaScript y CSS por lo tanto se convierte en la mejor opcin para ms
funcionalidades a comparacin de otros lenguajes de programacin por lo tanto se
descarta los lenguajes de programacin Java y Ruby.
Un actor es una persona que tiene la capacidad de interactuar con el sistema, este
cumple un determinado rol de acuerdo a las tareas que realiza.
Cada uno de estos actores tiene tareas distintas que cumplir en el sistema, por lo tanto
se le asignan distintos privilegios en el sistema, por ejemplo el administrador tiene ms
privilegios que el chef y encargado de compras.
86 - 162
La siguiente tabla describe la actividad de los actores en el sistema en el mdulo de
Gestin de usuarios:
ACTORES TAREAS
Administrador
uc Modelo de...
El administrador podr ingresar al sistema
registrar sus datos e interactuar con el
mismo teniendo el acceso tambin a
Administrador
gestin de usuarios.
uc Modelo ...
Chef
Chef
usuario, contrasea y seleccionar tipo de
usuario.
Encargado de compras
uc Modelo de casos d...
87 - 162
3.3.4. Diagramas de casos de uso de alto nivel y expandido.
El siguiente diagrama de caso de uso de alto nivel representa la estructura global del
sistema propuesto de procesos y funciones que se llevarn a cabo con los
involucrados de la empresa
88 - 162
Tabla 8: Descripcin de caso de uso de alto nivel
En los siguientes diagramas se muestran los casos de uso expandido de cada caso
de uso que se grafic en el Diagrama de Casos de uso de alto nivel
a) Registro de Datos
El siguiente diagrama describe el caso de uso muestra los pasos a seguir para el
registro de datos.
89 - 162
Figura 23: Registro de datos
90 - 162
Accin de Actores Respuesta del sistema
2.-El sistema registrar todos
campos llenados y si no estn
llenados todos los campos
mostrar un mensaje de El campo
no puede estar vaco
3.- Una vez llenado todos los
campos del formulario el usuario
debe presionar el botn registrar
4.- El sistema inmediatamente
registrar sus datos y volver a la
pantalla principal.
b) Iniciar sesin
El siguiente diagrama describe el caso de uso muestra los pasos a seguir para el
ingreso al sistema.
91 - 162
Tabla 11: Descripcin de caso de uso expandido Iniciar sesin
c) Gestin de usuarios
El siguiente diagrama describe el caso de uso muestra los pasos a seguir para la
gestin de usuarios que el administrador podr realizar.
92 - 162
Figura 25: Gestin de usuarios
93 - 162
Accin de Actores Respuesta del sistema
2.-El sistema mostrar una
pantalla de distintas opciones de:
Chef y encargado de compras
3.- El administrador deber
presionar en Chef
4.- El sistema mostrar una lista de
chef registrados con la opcin
asignar.
5.-El administrador deber
presionar el botn asignar para
poder asignar empresa y
encargado de compras al chef.
6.- El sistema mostrar botn
ASIGNAR para concretar el
proceso.
7.- El administrador debe presionar
el botn Asignar.
8.- El sistema guardar
automticamente los datos
registrados
Los diagramas de robustez nos sirven para hacer una comprobacin de validez, es
decir, comprobar si el texto caso de uso es correcto. ste es un diagrama que no tiene
que mantenerse al da ya que se utiliza slo para la transicin.
94 - 162
a) Registro de datos
2:Ingresa
1:Seleccionar datos de 3:Enviar datos
opcin usuario nuevo
Tipo_usuario
b) Iniciar sesin.
4:Confirmacin
1:Seleccionar 2:Ingresa datos 3:Enviar datos
de usuario y
opcin de usuario de usuario
contrasea
IU Men usuario
c) Gestin de usuarios
95 - 162
Figura 28: Diagrama de robustez de Gestin de usuarios
analysis Diagrama de robustez
3:Enviar dato
de empresa
5:Enva datos
Gestor usuario de usuario Usuario
1 1
Usuario
Chef
-Nombre 1
-Apellido1 -id_usuario
-Apellido2 -encargado
-CI -pedido
-Celular -empresa
-Direccin +Eliminar()
n -Usuario +editar()
-Contrasea
-Tipo_de_usuario
1
+Editar() Encargado
+Eliminar()
-id_usuario
+Eliminar()
+Editar()
tipo_usuario
-t_usuario
+Editar ()
1
+eliminar()
96 - 162
3.3.7. Codificar el mdulo de gestin de cuentas de usuario.
97 - 162
Figura 31: Interfaz de registro de usuario
98 - 162
c) Interfaz de registro de administrador.
99 - 162
3.3.8. Realizar pruebas al mdulo de usuarios
Para cumplir con la validacin y verificacin del sistema en esta seccin se realizar
las pruebas funcionales la cual se aplica por casos de uso. A continuacin se presenta
las pruebas funcionales del mdulo de usuarios.
El formulario consiste en
llenar los datos personales Controlar llenado
Exitoso
del usuario en todos los de datos en vaco
campos que se solicita.
Registro de
datos
Los campos deben ser
Controlar llenado
llenados con slo nmeros Exitoso
de slo nmeros.
en caso del CI y Celular.
El sistema no acepta un Verificacin de
Exitoso
doble usuario ya registrado. usuario existente
100 - 162
El formulario solicita llenar
Controlar llenado
datos de usuario y Exitoso
de datos en vaco
Ingresar al contrasea.
sistema
Los datos ingresados en el
Verificar datos
formulario deben ser Exitoso
correctos
correctos
101 - 162
3.4.1. Requerimientos.
ACTORES TAREAS
uc Modelo de...
Administrador
El administrador podr ingresar al sistema
y revisar un control de stock de los
Administrador
ingredientes almacenados en bodega.
102 - 162
3.4.3. Diagramas de casos de uso expandido de control de stock.
d) Control de stock
103 - 162
Accin de Actores Respuesta del sistema
1.- El administrador deber
ingresar al sistema con su nombre
de usuario y contrasea.
2.-El sistema verificar dato y dar
acceso para el ingreso al sistema.
3.- El administrador debe
seleccionar la opcin control de
stock para poder ingresar al
formulario de control de stock y
registrar el ingrediente para el
producto.
4.- El sistema una vez llenado los
campos definidos guardar la
informacin automticamente.
d) Control de stock
104 - 162
Figura 36: Diagrama de robustez de control de stock.
analysis Diagrama de robustez
IU:Men de
IU: Control de stock Gestor stock stock
administrador
7:Envia datos
6:Selecciona
ingrediente
IU:Modificar cantidad
1 1
Usuario
Chef
-Nombre 1
-Apellido1 -id_usuario
-Apellido2 -encargado
-CI -pedido
-Celular -empresa
-Direccin +Eliminar()
n -Usuario +editar()
-Contrasea
-Tipo_de_usuario
1
+Editar() Encargado stock
+Eliminar()
-id_usuario -ingredientes
+Eliminar() -cantidad
+Editar() +modificar()
tipo_usuario
-t_usuario
+Editar ()
1
+eliminar()
105 - 162
Figura 38: Codificacin de control de stock
106 - 162
3.4.7. Realizar pruebas al mdulo.
El formulario consiste en
llenar datos del ingrediente Controlar llenado
Exitoso
que se va almacenar en la de datos en vaco
Control de
bodega.
stock
107 - 162
Nro. Requisito Evidente/Oculto
ACTORES TAREAS
Administrador
uc Modelo de...
Controla los procesos que se hace en el
sistema y se encarga de registrar el
producto y los ingredientes de cada
Administrador
producto.
e) Administrar producto.
108 - 162
El siguiente diagrama describe el caso de uso muestra los pasos a seguir para
administrar producto
109 - 162
Accin de Actores Respuesta del sistema
producto para registrar el
producto.
2.-El sistema mostrar una
pantalla donde podr llenar datos
de dicho producto el cual podr ser
almacenado presionando el botn
guardar
3.- El administrador deber
presionar el botn editar o eliminar
producto si desea una de estas
acciones.
4.- El sistema mostrar las dos
opciones por separado editar y
eliminar.
5.-El administrador tendr que
escoger una de las opciones.
6.- El sistema realizar dicha
accin y saldr a la pgina principal
automticamente.
Los diagramas de robustez nos sirven para hacer una comprobacin de validez, es
decir, comprobar si el texto caso de uso es correcto. ste es un diagrama que no
tiene que mantenerse al da ya que se utiliza slo para la transicin.
e) Administrar producto.
110 - 162
Figura 41: Diagrama de robustez de Administrar producto
analysis Diagrama de robustez
3:Enva datos
2:Selecciona tipo
Gestor tipo Tipo_Producto
1:Seleccionar opcin
5:Enva datos
6:Selecciona
producto
IU: Modificar/Eliminar
111 - 162
Figura 42: Diseo del dominio de la aplicacin mvil Android de gestin de
abastecimiento de productos
1 1
Usuario
Chef
-Nombre 1
-Apellido1 -id_usuario
-Apellido2 -encargado
-CI -pedido
-Celular -empresa
-Direccin +Eliminar()
n -Usuario +editar()
-Contrasea
-Tipo_de_usuario
1 n
+Editar() Encargado stock
+Eliminar()
-id_usuario -ingredientes
+Eliminar() -cantidad
+Editar() +modificar()
tipo_usuario tipo_producto 1
-t_usuario -tipo_producto
+Editar () Producto
1
+eliminar()
-nombre_producto
-ingredientes
-precio
-tipo
+Eliminar()
+Editar()
+Agregar()
112 - 162
Figura 43: Codificacin de Servicios de catering
113 - 162
3.5.7. Realizar pruebas de funcionamiento.
114 - 162
Fuente: Elaboracin propia
ACTORES TAREAS
Encargado de compras
la compra y registrar compras realizadas.
f) Registrar pedido
El siguiente diagrama describe el caso de uso muestra los pasos a seguir para
registrar el pedido.
115 - 162
Figura 46: Registrar pedido
116 - 162
Accin de Actores Respuesta del sistema
seleccionar los productos que se
van a solicitar.
2.-El sistema mostrar los distintos
productos con la fecha actualizada.
3.- El Chef al seleccionar producto
deber registrar cantidad y enviar
la lista, para ello deber presionar
el botn pedir
4.- El sistema mostrar la opcin
enviar
5.-El Chef deber presionar el
botn enviar para poder
confirmar el pedido.
6.- El sistema mostrar un mensaje
Su pedido ha sido enviado
correctamente
117 - 162
Figura 47: Visualiza pedido y registra compra
118 - 162
Accin de Actores Respuesta del sistema
pedido para poder ver la solicitud
de ingredientes que debe comprar.
2.-El sistema mostrar la lista de
ingredientes que debe comprar
con la opcin de tickear las
compras que ya realiz.
3.- El encargado de compras
deber presionar el botn
compras realizadas para poder
visualizar las compras ya hechas.
4.- El sistema mostrar una lista de
los ingredientes que fueron
registrados como comprados.
Los diagramas de robustez nos sirven para hacer una comprobacin de validez, es
decir, comprobar si el texto caso de uso es correcto. ste es un diagrama que no
tiene que mantenerse al da ya que se utiliza slo para la transicin.
f) Registrar pedido.
119 - 162
Figura 48: Diagrama de robustez de registrar pedido
3:Enva datos
2:Seleccina
tipo de Gestor producto Producto
1:Ingresar a producto
tipo de
producto
4:Registra datos
IU:Tipos de productos de pedido
IU:Men de chef
5:Enviar datos
6:Lista de
pedidos
registrados Gestor pedido Pedido
IU:Pedidos
120 - 162
Figura 49: Diagrama de robustez de Visualiza pedido y registra compras
analysis Diagrama de robustez
3:Enva datos
5:Enva
1:Selecciona ingredientes 6:Enva datos
2:Envia datos
fecha del producto del producto
IU:Men encargado de
IU:Pedidos Gestor compras Gestor producto Producto
compras
7:Registra compras
IU:Compras realizadas
121 - 162
Figura 50: Diseo del dominio de la aplicacin mvil Android de gestin de
abastecimiento de productos
1 1
Usuario
Chef
-Nombre 1
-Apellido1 1 -id_usuario
-Apellido2 -encargado
-CI -pedido
-Celular -empresa
-Direccin +Eliminar()
n -Usuario +editar()
-Contrasea
-Tipo_de_usuario
1 n
+Editar() Encargado stock
+Eliminar()
-id_usuario -ingredientes
+Eliminar() -cantidad
1 +Editar() +modificar()
tipo_usuario tipo_producto 1
-t_usuario -tipo_producto
+Editar () n Producto
1
+eliminar() n -nombre_producto
-ingredientes
1 -precio
Pedido
-tipo
-tipo_producto 1 +Eliminar()
-producto +Editar()
-cantidad +Agregar()
-fecha
+editar()
122 - 162
Figura 51: Interfaces para el registro de pedidos
123 - 162
Figura 53: Interfaces para el encargado de compras
124 - 162
Figura 54: Prueba funcional del caso de uso registro de datos.
Sincronizacin
BD
API REST
Servidor
web
125 - 162
3.7.2. Realizar las pruebas de funcionalidad.
Pre-requisitos Ninguno
127 - 162
- Ingresar a la pantalla principal
128 - 162
- Ingresar a la pantalla de nuevo producto
- Devolver valor de error Todos los campos deben estar
llenados
129 - 162
3.8.3. Documentar las pruebas.
130 - 162
Figura 60: Registrar un pedido
sta variable se refiere a los posibles errores humanos que se presentan al momento
de realizar las listas de pedidos para el abastecimiento de productos.
131 - 162
Los procedimientos que se llevan a cabo de registros generan una demora al momento
de la organizacin fundamentalmente para la entrega de productos a cada chef
encargado del Servicio de Catering de la empresa.
2 5 12
= 120
X errores-----5 listas
5
= 1 1 = 5
Teniendo los resultados de los errores que se cometen sin el sistema es de 120 errores
por parte del personal y con el sistema propuesto se cometen un mnimo de 5 errores
por ao.
5 errores-----------X%
5 100
= = 4.17%
120
132 - 162
Por lo tanto:
133 - 162
Pasos sin Tiempo sin Pasos con Tiempo con
Actividad
sistema sistema. sistema sistema.
Proceso de El chef enva
entrega de Se realiza una pedido por
pedidos al comunicacin medio de la
chef para va llamadas o aplicacin sin
que se mensajes para 180 min tener un 5 min
realice las la entrega de contacto
compras de listas de personal con
los pedidos el encargado
ingredientes de compras
Total tiempo
260 min Total tiempo 30 min
134 - 162
Tabla 36: Demostracin de la segunda variable dependiente
Teniendo como resultado del anlisis de estas muestras, se concluye que el total de
beneficios por el proceso manual tiene la cantidad de 3, y con el proceso del sistema
es de 9. Estos resultados se tomarn en cuenta en el clculo de estadstico T student
para realizar la aceptacin o rechazo de la hiptesis.
135 - 162
Para la definir la hiptesis se considera el anlisis de aceptacin y rechazo de la
misma, haciendo referencia a un que representa una probabilidad, en nuestro caso
tenemos que:
Hiptesis nula: Los factores de xito de antes son iguales a los factores de xito
posteriores:
0 : 1 = 2
Hiptesis alternativa: Los factores de xito de antes son distintos a los factores de
xito posteriores:
1 : 1 2
Presenta dos casos, los cuales son:
o Los factores de xito anteriores son mayores a los posteriores: 1 > 2
o Los factores de xito anteriores son menores a los posteriores: 1 < 2
136 - 162
Clculo del estadstico T.
( ) + ( )
=
+
=
+
Dnde:
= nivel de significancia
= Grado de libertad
137 - 162
=
3
1 = 9 = 0,33331 Alcanz un 33% de los beneficios de la muestra.
9
2 = 9 = 12 Alcanz un 100% de los beneficios de la muestra.
0,05
= = 0,025
2
= 8
Para los rangos de rechazo de la hiptesis se calcula por el valor del grado de libertad
obtienen el nivel de significancia; se busca en la tabla y se tienen los rangos, en este
caso es de -2.3060y 2.3060, es decir, cualquier valor dentro de este rango demostrar
que la hiptesis es nula (0 ) y la aceptacin (hiptesis alternativa 1 ) de la hiptesis
se encuentra fuera de estos rangos
3
1 = 9 = 0,3333 Entonces 1 = 1 0,3333 = 0,6667
9
2 = 9 = 1 Entonces 2 = 1 1 = 0
0,3333 1
= = 4,2429
0,3333 0,6667 + 1 0
9 9
138 - 162
Figura 61: Campana de gauss
1 1
1 : 1 < 2 1 : 1 > 2
139 - 162
ESCUELA MILITAR DE INGENIERA
MCAL. ANTONIO JOS DE SUCRE
BOLIVIA
CAPTULO 4
ANLISIS DE
VIABILIDAD.
4. ANLISIS DE VIABILIDAD
141 - 162
A continuacin se muestra una tabla a detalle los requerimientos mnimos e ideales
para el servidor web y cliente en cuanto a software para el correcto funcionamiento de
la aplicacin mvil.
142 - 162
4.2. VIABILIDAD ECONMICA.
El presente proyecto se realiz con la utilizacin de diferentes herramientas
programacin y base de datos las herramientas del servidor no tiene costo por que es
un servicio que brinda Google, de la misma manera MySQL no tiene costo porque se
integra al servicio en la nube de Google y solamente se paga si se desea el
mantenimiento del mismo.
Pc incluyendo Procesador
Memoria
Disco duro 2150 4020
Monitor
Teclado y mouse
Sistema operativo XP.
Navegador Explorer.
Cuenta de Gmail.
Gestor de base de datos 0 0
MySQL almacenados en
Google cloud Platform.
Banda ancha 128kbps.
TOTAL Bs 2150.- Bs 4020.-
143 - 162
En la siguiente tabla se muestra el anlisis de costos del hardware y software del para
el cliente mvil.
Requerimiento
Tcnico (Mvil de
300 1750
reserva en la
empresa)
Sistema
operativo Android
4.0. 0 0
Plan de datos
3G.
TOTAL Bs 300.- Bs 1750.-
144 - 162
B. Modelo semiacoplado: es un modelo para proyectos que presentan
caractersticas intermedias entre el orgnico y el empotrado, con un equipo
formado por miembros de distintos niveles de experiencia, que trabajan sobre
un conjunto de requisitos ms o menos flexibles.
C. Modelo Empotrado: para proyectos caracterizados por unos requerimientos y
restricciones poco flexibles, que requieren un gran esfuerzo de innovacin.
Tambin poseen un elevado nivel de complejidad en hardware.
Modo ai bi ai bi
Orgnico
3.20 1.05 2.50 0.38
Semiacoplado
3.00 1.12 2.50 0.35
Empotrado
2.80 1.20 2.50 0.32
145 - 162
Tabla 42: Ecuacin bsica del esfuerzo en COCOMO (Modelo intermedio y
Detallado).
La ecuacin del esfuerzo y del tiempo de Desarrollo que se utilizarn ser para el
Modelo de desarrollo Orgnico, a continuacin se describen las variables y sus
unidades.
146 - 162
= [ ]
= 15
= []
Para determinar el valor del factor de ajuste del Esfuerzo se emplea el producto de 15
factores de costo, que determinan la duracin y el coste del proyecto, a continuacin
se pueden apreciar los valores seleccionados para cada factor:
147 - 162
Conductores del Grados
coste Muy Bajo Medio Alto Muy Extra
bajo alto altor
CUALIDADES DEL
PERSONAL
Capacidad del 1.46 1.19 1.00 0.86 0.71 -
analista
Experiencia de los 1.29 1.13 1.00 0.91 0.82 -
usos
Capacidad de los 1.42 1.17 1.00 0.86 0.70 -
programadores
Experiencia en 1.21 1.10 1.00 0.90 - -
sistema operativo
utilizado
Experiencia del 1.14 1.07 1.00 0.95 - -
lenguaje de
programacin
CUALIDADES DEL
PROYECTO
Uso de las 1.24 1.10 1.00 0.91 0.82 -
herramientas del
software
Uso de los mtodos 1.24 1.10 1.00 0.91 0.83 -
de la tecnologa de
dotacin lgica
Horario requerido 1.23 1.08 1.00 1.04 1.10 -
del desarrollo
= 1.15 1.00 0.85 0.87 1.00 1.00 1.00 1.00 1.00 1.07 1.10
0.91 1.00
148 - 162
= 0.910
Para determinar la cantidad total de lneas de cdigo fuente se ha contado las lneas
de cada clase de la arquitectura MVC, para lo cual se utiliza la herramienta Code Line
Counter Pro Versin 6.5.
Archivo SLOC
TOTAL 5852
Para determinar el valor de la variable KSLOC se van a usar unidades de SLOC (lneas
de cdigo fuente), con las siguientes restricciones. Sumar las lneas de cdigo creadas
por el personal del proyecto. Se considera que una instruccin es una lnea de cdigo.
Las declaraciones se toman como instrucciones. Los comentarios no se cuentan como
instrucciones.
Se determina que:
149 - 162
= 5852
=
1000
= 5,852
Una vez encontrado los valores de EAF y KSLOC, se procede a calcular el esfuerzo:
= 3,2 1,05
= 16,4056 [ ]
= 2,5 0,38
= 2,5 16,40560,38
= 7,2383[]
16,4056
=
7,2373
= 2,2664 []
150 - 162
7283
=
16,4056
= 356.7074 [ ]
Obteniendo los resultados anteriores se determina que para el proyecto se han escrito
5852 lneas de cdigo, lo que se traducen en un esfuerzo de 16 personas por mes, el
proyecto se desarrolla en 7 meses y lo ideal para desarrollar el proyecto es contar con
2 programadores. Pero la situacin en ste caso, el proyecto ha sido desarrollado por
una sola persona. Se ha considerado el trabajo en das laborales de lunes a sbado,
2 horas al da, lo que supone unas 40 horas al mes. Y segn el tiempo estimado
multiplicado por la cantidad de horas al mes, se obtiene un total de 289,532 horas.
2[ ] 40 [ ]
= 40 7,2383
= 289532 []
Por tanto ajustando el horario de trabajo del autor del proyecto (2 horas al da), y
considerando el pago por hora de Bs. 35 se procede a calcular el costo estimado del
proyecto, multiplicando la cantidad de horas a trabajar en el lapso de tiempo estimado
por el pago por hora determinado segn el horario:
289,532[] 35 [ ] = 10.133,62[. ]
151 - 162
Finalmente se puede indicar que los costos totales mnimos e ideales son:
Costo de hardware y
2150 4020
software del servidor
Costo de hardware y
300 1750
software del cliente mvil
Costo desarrollo del
10.133,62 10.133,62
proyecto
TOTAL Bs 12.583,62.- Bs 15903.62.-
Costo en material de
372 Bs.- 0,00 Bs.-
escritorio.
152 - 162
DESCRIPCIN MONTO SIN SISTEMA MONTO CON SISTEMA
=1
(1 + )
/ =
0 + =1
(1 + )
153 - 162
8762 8762 8762 8762 8762
+ 2 + (1 + 0,0231)3 + (1 + 0,0231)4 + (1 + 0,0231)5
= (1 + 0,0231) (1 + 0,0231)
3550 3550 3550 3550 3550
14381,84 + ( + + + + )
1 + 0,0231 (1 + 0,0231)2 (1 + 0,0231)3 (1 + 0,0231)4 (1 + 0,0231)5
= 40930.35
14381.84 + 16583.28
= 1.32
Al obtener el resultado mayor a 1 se puede concluir que los beneficios que se obtienen
con la implantacin del proyecto son justificables respecto al costo invertido para su
desarrollo del sistema. Por lo tanto el proyecto es econmicamente viable.
Una vez implementado la aplicacin mvil Android ser capaz de obtener informacin
de datos actuales sobre los productos necesarios para el abastecimiento de la
empresa por medio de un servidor que permitir al dueo llevar un registro controlado
mediante un diseo de interfaces amigables para los distintos tipos de usuarios.
Administrador Alto
Chef Medio
154 - 162
Fuente: Elaboracin propia
Administrador:
Chef:
Encargado de compras:
155 - 162
ESCUELA MILITAR DE INGENIERA
MCAL. ANTONIO JOS DE SUCRE
BOLIVIA
CAPTULO 5
CONCLUSIONES Y
RECOMENDACIONES.
5. CONCLUSIONES Y RECOMENDACIONES.
5.1. CONCLUSIONES
Para iniciar el desarrollo del proyecto ha sido necesario elaborar el modelo del
negocio actual, a travs de una serie de entrevistas al administrador de la empresa
servicios de catering VALENCIA. Estas actividades han permitido elaborar flujos
de trabajo que representan de manera detallada las actividades que implica el
proceso de gestin de abastecimiento, pedido y compras de productos para el
servicio de catering lo cual llevo a la comprensin de la lgica de negocio y la
identificacin de los aspectos que pueden mejorar el uso de la tecnologa y
respectivo desarrollo del sistema.
Con el diseo del modelado de negocio alternativo se logro elaborar la propuesta
de una nueva lgica de negocio en la cual los procedimientos estn basados en la
utilizacin de la aplicacin mvil, permitiendo de esta manera solucionar los
problemas que actualmente enfrenta la empresa e identificar las funcionalidades
principales que debe tener el sistema propuesto.
El desarrollo del mdulo de gestin de usuarios para el personal de la empresa
permite la introduccin y almacenamiento de informacin bsica requerida de cada
involucrado en el proceso de trabajo que realiza la empresa as mismo asigna a
cada participante la labor que debe desempear dentro la empresa servicios de
catering VALENCIA.
Se desarroll un mdulo de control de stock para el usuario el cual permite de
manera fcil interactuar con una interfaz amigable, donde se llena un formulario
con los datos del producto que ingresa a la bodega y as llevar a cabo el control
156 - 162
de productos automatizado dando a conocer el stock de ingredientes existentes
de diferentes tipos.
La implementacin del mdulo de servicios de catering permite tener un registro
de todos lo productos que ofrece la empresa y as facilitar el proceso para los
pedidos que se registran diariamente. Estas funcionalidades se presentan de
manera interactiva y mas atractiva al alcance de cualquier mvil de los empleados
de la empresa.
Se desarroll un mdulo de gestin de abastecimiento el cual permite registrar la
cantidad de personas que requieren el servicio y as automatizar el total de
ingredientes que se requieren para facilitar la elaboracin de productos del men
diario y facilitar una lista de ingredientes al encargado de compras quien deber
cumplir su labor de adquirir todos y cada uno de los ingredientes faltantes.
Para lograr la conectividad entre el servicio Web y la aplicacin mvil se decidi
utilizar los servicios REST API e intercambio de datos aplicando JSON que
reducen el tiempo de intercambio de datos y sincronizacin entre ambos.
Finalmente se han realizado pruebas con usuarios finales verificando que el
sistema concluye con los requisitos solicitados por el administrador y dueo de la
empresa
157 - 162
compra de ingredientes y disminuyendo los errores en la elaboracin de listas de
productos y gastos econmicos por este motivo.
5.2. RECOMENDACIONES
Se recomienda implementar una pgina web para los clientes, donde se pueda
promocionar productos, compartir los servicios que brinda la empresa y todas las
caractersticas de la empresa para permitir llegar a mayor cantidad de clientes.
Desarrollar un modulo para clientes que quieran adquirir el servicio de catering y
puedan realizar sus pedidos, evitando que los trabajadores hagan visitas
constantes.
158 - 162
BIBLIOGRAFA
Davis, B., & Steven, D. (2002). Benefits Thin client-Smart client. Newburn.
Fowler, M., & Kendall, S. (1999). UML gota a gota. Mexico: Person Educacion.
159 - 162
Kniberg, H. (2007). Scrum y XP desde las trincheras. Estados Unidos de
America: C4Media Inc.
Naresh, A., & Toral, M. (2002). UDDI: Building Registry-based Web Services
Solutions. Retrieved from http://uddi.xml.org/.
160 - 162
Pressman, R. (2010). Ingeniera de Software: Un Enfoque Prctico (Sptima ed.).
McGraw-Hill.
Rehman, Paul, C., & Paul., C. R. (2002). The Linux Development Platform:
Configuring, Using and Maintaining a Complete Programming Environment.
161 - 162
Sommerville, I. (2005). Ingeniera de Software. Madrid, Espaa: Pearson
Educacin S.A.
162 - 162
ANEXOS
ANEXO A: Servicio de Catering
ANEXO B: Licitacin del Servicio de Catering
ANEXO C: Entrevista al gerente de la empresa
ANEXO D: Diagrama Ishikawa.
Ilegibilidad. Ilegibilidad.
Tareas repetitivas de confeccin
Proceso moroso en la Demora en la toma
de listas diarias de productos
toma de datos. de datos.
faltantes, prdida de tiempo en la
revisin de los pedidos realizados
por las empresas para determinar
los productos que deben
abastecerse y gastos innecesarios
Revisin de productos
en la adquisicin de productos
Revisin de compras faltantes.
que se tienen disponibles.
realizadas. Registro de cantidad de
productos incorrecto. Elaboracin de una sola
lista comn.
Valor
Factores de costo Justificacion
escogido
Fiabilidad requerida del El software maneja varios datos los cuales deben ser fiables y
alto
software disponibles para su correcto funcionamiento.
Tamao de la base de datos Es medio porque la empresa an no cuenta con una gran
medio
del uso cantidad de datos ya que trabaja con pocas empresas.
Experiencia en sistema
medio Es alto dado que el sistema opertico se usa a diario.
operativo utilizado
Uso de las herramientas del Es baja dado que se utiliza herramientas de programacin
bajo
software modernas de los cuales no se tena experiencia.