ACTIVIDAD 10: TRABAJO COLABORATIVO No. 2
-
Upload
arbey-medina -
Category
Documents
-
view
220 -
download
0
description
Transcript of ACTIVIDAD 10: TRABAJO COLABORATIVO No. 2
1
ACTIVIDAD 10: TRABAJO COLABORATIVO No. 2
TUTOR:
MARCO ANTONIO LÓPEZ OSPINA
MATERIA:
PROYECTO DE GRADO
ESTUDIANTES:
MILEYDI LORENA AVILA ARGUELLO
SANDRA MILENA MARTÍNEZ
CARLOS ANDRÉS BASTOS
JUANA LILIANA MOLANO HERNANDEZ
ARBEY MEDINA PARRA
GRUPO: 201014_40
INGENIERÍA DE SISTEMAS
ABRIL DE 2011
2
1. Introducción
El propósito de este trabajo colaborativo No. 2, es el de desarrollar para el proyecto que
hemos seleccionado, los siguientes tópicos: el Problema de Investigación, el Decálogo de Bernal
y la Factibilidad y Costo.
3
2. Objetivo
Fundamentar una propuesta que sirve como base para realizar una investigación afín con
la carrera, determinando el problema y viabilidad para solucionarlo a través de una nueva
tecnología o tecnología de punta y que vaya permitiendo actualizarse
4
3. Problema de Investigación
Antecedentes y Formulación del Problema
Actualmente, existen diversos proyectos basados en tecnología Android en el mercado
Colombiano, y más aún, lo hay a nivel internacional. Éstos servicios, implantados en diversas
empresas dirigidas en diferentes rubros (comerciales, financieros, académicos, etc.), se basan por
lo general, en su gran mayoría, en consultas a Bases de Datos, sobre tópicos académicos, sobre
negocios, culturales, de entretenimiento, etc., brindándole al cliente la información que necesita
en tiempo real, accediendo a ellos, mediante un dispositivo móvil o celular.
Ya que en el mercado nacional existe una gran cantidad de usuarios que cuentan con un
dispositivo móvil (cantidad que sobrepasa al número de usuarios con línea fija telefónica), es
muy cierto también que en la mayoría de casos sólo se le da usos tradicionales: SMS, llamadas
telefónicas, Servicio de Directorio y Recordatorio, etc.; desconociendo las diferentes ventajas
que poseen los dispositivos celulares que existen en la actualidad, éstos incluye a las empresas,
las cuales podrían solucionar sus diversos problemas, más aún, empresas cuyo rubro principal es
el comercio o aquellas que realizan transacciones comerciales en tiempo real.
El detalle a tener en cuenta es que se está al frente de una tecnología que viene siendo
aceptada por los usuarios como una alternativa, confiable, eficiente y barata.
De ésta manera, los usuarios necesitan aplicaciones móviles de navegación que genere la
información del tráfico en tiempo real, a través de teléfonos celulares inteligentes o Smartphones
con GPS.
Es de ésta forma, que nos vamos a basar en realizar nuestro proyecto (waze), sobre el
desarrollo de aplicaciones para dispositivos móviles sobre la tecnología android para reportar los
eventos que dificulten la movilidad sobre cualquier vía del país, con el fin de operar operar como
5
una red social de conductores y pasajeros, Waze ofrece un amplio abanico de beneficios a los
integrantes de la comunidad que van desde advertencias de accidentes, incidentes, reparaciones
en las vías, alertas en tiempo real, integración con redes sociales como Facebook y Twitter; y
hasta la personalización de la aplicación para brindar a todos sus usuarios información de la
situación de las vías en el momento en que se necesita y que ofrece la mejor ruta para cualquier
destino.
Justificación e Importancia
Nuestro caso de estudio propuesto: “Desarrollo de aplicaciones para dispositivos móviles
sobre la tecnología android para reportar los eventos que dificulten la movilidad sobre cualquier
vía del país (Waze)”, nació con la finalidad de otorgar a cualquier usuario del rubro, rapidez y
confiabilidad en las consultas realizadas sobre el estado de las vías, en este caso, desde su punto
inicial: Reporte de accidentes. Por ende, permitirá guiar al conductor auditivamente y
visualmente en las mejores rutas para los traslados al trabajo o cualquier viaje que desee realizar,
mejorando las dificultades de tránsito y movilidad que se presente.
A partir de las especificaciones anteriores surgió la idea de construir un sistema de
control intuitivo que pudiera ejecutarse desde cualquier terminal móvil con conexión a Internet
(teléfono móvil, PDA, Pocket PC, etc.). Dando la posibilidad al usuario de poder recibir
informes del estado de las vías del país en forma de consulta directa a la Base de Datos vía su
celular, y así, actuar en consecuencia con la minoría de restricciones posible, puesto a que
existen ciertas debilidades que en lugar de ayudar a garantizar total seguridad del conductor en el
proceso de reporte de alertas de tráfico que requiere, puede generarle atraso, por ejemplo: la
pérdida de señal del dispositivo móvil o celular.
6
El proyecto en sí permitirá a los usuarios, mantener mejor confianza, velocidad óptima y
resultados eficientes referentes al estado de las vías, y así poder disfrutar mucho a lo largo de su
viaje.
Esta es una herramienta donde el usuario se encontrará con un mapa dinámico que se va
actualizando constantemente por los usuarios mientras conducen con la aplicación abierta en sus
teléfonos.
Además, cuando dos o más usuarios están conduciendo por una ruta determinada, se puede
tener una noción de la situación de la vía en ese momento. La plataforma utiliza dicha
información para generar el reporte de las condiciones del tráfico.
A. Planteamiento del Problema
El problema principal y base de esta investigación es: ¿Se puede brindar una solución a
través del desarrollo de un software implementado en un dispositivo móvil en el que se puedan
reportar los eventos que dificulten la movilidad sobre cualquier vía, de tal forma que permita a
otros conductores tomar decisiones y poder optimizar el tiempo de recorrido entre dos trayectos?
B. Propósito de la Investigación
Crear una solución de software, utilizando lenguaje JAVA, sobre el sistema operativo
ANDROID para dispositivos móviles, para el registro, almacenamiento, administración y
distribución de eventos que afecten la movilidad sobre cualquier vía o carretera del país
7
C. Preguntas de Investigación
¿Qué es?
Es una solución de software, utilizando lenguaje JAVA, sobre el sistema operativo
ANDROID para dispositivos móviles, para el registro, almacenamiento, administración y
distribución de eventos que afecten la movilidad sobre cualquier vía o carretera del país.
Android, más que un sistema operativo, representa toda una pila de software para
dispositivos móviles que incluye gran cantidad de drivers, gestor de bases de datos, una completa
framework de aplicaciones, y numerosas aplicaciones de usuario. Android está basado en el
núcleo de Linux y todas sus aplicaciones se escriben en lenguaje Java, disponiendo además de
una máquina virtual específica llamada Dalvik.
¿Para qué sirve?
Consiste en una aplicación móvil gratuita a través de teléfonos inteligentes como iPhone,
Blackberry, Nokia, Samsumg, o cualquier otro dispositivo móvil que tengan sistema de
navegación GPS, que busca facilitar cada vez más una realidad que ofrece al usuario, en un
mismo y reducido aparato, funciones de comunicación y procesamiento de datos que van mucho
más allá de las de las simples llamadas telefónicas o la ejecución de aplicaciones básicas con el
fin que los usuarios realicen sus reportes y alertas de tráfico en tiempo real, y así tener a la mano
información precisa del tráfico, accidentes, daños en la vía y obras, entre otros problemas de
movilidad.
8
Características
Busca el desarrollo rápido de aplicaciones, que sean reutilizables y verdaderamente
portables entre diferentes dispositivos.
Los componentes básicos de las aplicaciones se pueden sustituir fácilmente por otros.
Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta código escrito en
Java.
Permite la representación de gráficos 2D y 3D.
Posibilita el uso de bases de datos.
Soporta un elevado número de formatos multimedia.
Servicio de localización GSM.
Controla los diferentes elementos hardware: Bluetooth, Wi-Fi, cámara fotográfica o de
vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y cuando el dispositivo móvil lo
contemple.
Cuenta con un entorno de desarrollo muy cuidado mediante un SDK disponible de forma
gratuita.
Ofrece un plug-in para uno de los entornos de desarrollo más populares, Eclipse, y un
emulador integrado para ejecutar las aplicaciones.
Ventajas
Accesibilidad. Permite la búsqueda, selección y procesamiento de la información, la
colaboración y la construcción del conocimiento acerca del estado de las vías o carreteras
del país.
9
Conectividad. Facilitar la unión de dos o más dispositivos, el acceso y uso de internet,
intercambio de información y trabajo colaborativo. Favorece la comunicación, la creación de
redes sociales, con el fin de estar mejor informados sobre algún problema de movilidad
presentado en las carreteras.
Funcionalidad. La capacidad de procesamiento de datos facilita la recopilación de la
información en cualquier contexto.
D. Definición de Términos
Android:
Es un conjunto de herramientas y aplicaciones vinculadas a una distribución Linux para
dispositivos móviles. Por sí solo no es un sistema operativo. (Alegsa, 2011)
Java:
Es un lenguaje de programación y la primera plataforma informática creada por Sun
Microsystems en 1995. Es la tecnología subyacente que permite el uso de programas punteros,
como herramientas, juegos y aplicaciones de negocios. Java se ejecuta en más de 850 millones
de ordenadores personales de todo el mundo y en miles de millones de dispositivos, como
dispositivos móviles y aparatos de televisión. (Desarrolloweb, 2001)
GPS:
(Global Positioning System - Sistema de Posicionamiento Global). Se trata de un sistema
global de navegación por satélite (GNSS) que permite localizar con precisión un dispositivo GPS
en cualquier lugar del mundo.
10
El sistema es desarrollado y actualmente operado por el Departamento de Defensa de
EE.UU. Está compuesto por veinticuatro satélites (21 operativos y 3 de respaldo) que están en
órbita a unos 20.200 km de la Tierra con trayectorias sincronizadas para cubrir toda la superficie
terrestre. (Alegsa, 2011)
Dispositivos móviles
No existe un consenso claro a la hora de definir qué es realmente un dispositivo móvil y qué
no lo es. Es frecuente que hoy en día este término se utilice para designar únicamente a ciertos
modelos de teléfonos móviles con mayores o menores prestaciones. A pesar de ello, un
dispositivo móvil no tiene por qué ceñirse solamente al ámbito telefónico.
Buscando ser más rigurosos, se podría denominar dispositivo móvil a todo aparato
electrónico que cumple unas características muy básicas:
- Es de reducido tamaño, haciéndolo fácil de transportar.
- Cuenta con una cierta capacidad de computación y almacenamiento de datos.
- Incorpora elementos de E/S básicos (por lo general, pantalla y/o algún tipo de teclado).
Más allá de estas características comunes, los dispositivos móviles forman en la
actualidad un grupo sumamente heterogéneo y pueden incorporar casi cualquier componente de
hardware y software que amplía y diversifica su función inicial. El más frecuente sin duda es la
conexión telefónica (incluyendo servicios como el envío de SMS, MMS, y acceso WAP) o la
conexión a Internet.
Igualmente es habituales la cámara fotográfica y de vídeo, pantalla táctil, teclado QWERTY,
receptor de radio, Bluetooth, conexión mediante infrarrojos, dispositivos de memoria extraíbles,
localizador GPS, acelerómetro, etc. Desde el punto de vista del software, pueden incorporar
11
también un amplio abanico de aplicaciones tales como programas ofimáticos, reproductores de
audio y vídeo, organizadores, videojuegos, navegadores web o clientes de correo, entre otros.
4. Decálogo de Bernal
Integrantes Código
Mileydi Lorena Ávila Arguello 1053684040
Sandra Milena Martínez 24716689
Carlos Andrés Bastos 94559555
Juana Liliana Molano Hernández 46384554
Arbey Medina Parra 94449532
Concepto Descripción
Cronología (Cuándo)
Todo inicia a partir del auge de las telecomunicaciones, El software
en dispositivos móviles ha tenido su auge a medida que los usuarios
se han interconectado aun más a la Word Wide Web, y al adquirir
hardware de cuarta y quinta generación.
Axiomas (Quién)
La grandes empresas de telecomunicaciones y multinacionales
como Google han sido las pioneras en el ofrecimiento de aplicativos
para sistemas móviles.
Nosotros seremos los desarrolladores de este aplicativo para
Colombia.
Método (Cómo)
Toma de requerimientos, (Análisis) , presentar un propuesta
documentada sobre el software para dispositivo móvil elaborado
sobre el S.O Android (Diseño), elegir la plataforma en la cual se va
12
Concepto Descripción a programar el Software JAVA (Programación)
Ontología (Qué)
Crear una solución de software, utilizando lenguaje JAVA, sobre el
sistema operativo ANDROID para dispositivos móviles, para el
registro, almacenamiento, administración y distribución de eventos
que afecten la movilidad sobre cualquier vía o carretera del país
Tecnología (Con qué)
Hardware:
- Dispositivos móviles con Sistema Operativo Android
Software:
- Lenguaje Java
Teleología (Para qué)
Para brindar una solución a través del desarrollo de un software
implementado en un dispositivo móvil en el que se puedan reportar
los eventos que dificulten la movilidad sobre cualquier vía, de tal
forma que permita a otros conductores tomar decisiones y poder
optimizar el tiempo de recorrido entre dos trayectos
Topografía (Dónde) El proyecto se desarrollara desde La Dorada Caldas, Tunja y Cali
Ecología (Contra qué)
Actualmente este proyecto no influye físicamente con el medio
ambiente ya que su desarrollo es Intangible "No hay contaminación
", Mas sin embargo está ligado al uso de Frecuencias por el uso del
GPS "ADMINISTRACIÓN Y CONTROL DEL ESPECTRO
ELECTROMAGNÉTICO SE ENCUENTRAN DETERMINADAS
POR EL ARTICULO 19 DEL DECRETO LEY 1900 DE 1.990" ya
que habría aumento de frecuencias debido al aumento de la
13
Concepto Descripción demanda de interconexión.
Etiología (Porqué)
Porque esta herramienta permitiría que el usuario a través de un
mapa dinámico que se va actualizando constantemente por los
usuarios mientras conducen saber el estado de tráfico y vías en el
país.
Experiencia (Cuánto)
A medida del desarrollo del proyecto se hará la cuantificación y la
cualificación del impacto que este obtuvo según los objetivos
planteados al inicio
5. Factibilidad y Costo
Entre los distintos métodos de estimación de costes de desarrollo de software, el modelo
COCOMO (COnstructive COst MOdel) desarrollado por Barry M. Boehm, se engloba en el
grupo de los modelos algorítmicos que tratan de establecer una relación matemática la cual
permite estimar el esfuerzo y tiempo requerido para desarrollar un producto.
Por un lado COCOMO define tres modos de desarrollo o tipos de proyectos:
Orgánico: proyectos relativamente sencillos, menores de 50 KDLC líneas de
código, en los cuales se tiene experiencia de proyectos similares y se encuentran
en entornos estables.
14
Semi-acoplado: proyectos intermedios en complejidad y tamaño (menores de
300 KDLC), donde la experiencia en este tipo de proyectos es variable, y las
restricciones intermedias.
Empotrado: proyectos bastante complejos, en los que apenas se tiene
experiencia y se engloban en un entorno de gran innovación técnica. Además se
trabaja con unos requisitos muy restrictivos y de gran volatilidad.
Y por otro lado existen diferentes modelos que define COCOMO:
Modelo básico: Se basa exclusivamente en el tamaño expresado en LDC.
Modelo intermedio: Además del tamaño del programa incluye un conjunto de
medidas subjetivas llamadas conductores de costes.
Modelo avanzado: Incluye todo lo del modelo intermedio además del impacto
de cada conductor de coste en las distintas fases de desarrollo. (Wikipedia, 2011)
Para nuestro caso el modelo intermedio será el que usaremos, dado que realiza las
estimaciones con bastante precisión.
Así pues las fórmulas serán las siguientes:
E = Esfuerzo = a KLDC e * FAE (persona x mes)
T = Tiempo de duración del desarrollo = c Esfuerzo d (meses)
P= Personal = E/T (personas)
Para calcular el Esfuerzo, necesitaremos hallar la variable KDLC (Kilo-líneas de código),
que para nuestro caso hemos lo hemos estimado en= 8,363 KDLC
15
Así pues, en nuestro caso el tipo orgánico será el más apropiado ya que el número de líneas
de código no supera los 50 KLDC, y además el proyecto no es muy complejo, por consiguiente,
los coeficientes que usaremos serán las siguientes:
Y por otro lado también hemos de hallar la variable FAE, la cual se obtiene mediante la
multiplicación de los valores evaluados en los diferentes 15 conductores de coste que se
observan en la siguiente tabla:
PROYECTO SOFTWARE a e c d
Orgánico 3,2 1,05 2,5 0,38
Semi-acoplado 3,0 1,12 2,5 0,35
Empotrado 2,8 1,20 2,5 0,32
16
CONDUCTORES DE COSTO
VALORACIÓN
Muy
bajo
Bajo Nominal Alto Muy
alto
Extr.
alto
Fiabilidad requerida del software 0,75 0,88 1.00 1,15 1,40 -
Tamaño de la base de datos - 0,94 1.00 1,08 1,16 -
Complejidad del producto 0,70 0,85 1.00 1,15 1,30 1,65
Restricciones del tiempo de ejecución - - 1.00 1,11 1,30 1,66
Restricciones del almacenamiento principal - - 1.00 1,06 1,21 1,56
Volatilidad de la máquina virtual
-
0,87 1.00 1,15 1,30 -
Tiempo de respuesta del Dispositivo Móvil - 0,87 1.00 1,07 1,15 -
Capacidad del analista 1,46 1,19 1.00 0,86 0,71 -
Experiencia en la aplicación 1,29 1,13 1.00 0,91 0,82 -
Capacidad de los programadores 1,42 1,17 1.00 0,86 0,70 -
Experiencia en S.O. utilizado 1,21 1,10 1.00 0,90 - -
Experiencia en el lenguaje de programación 1,14 1,07 1.00 0,95 - -
Prácticas de programación modernas 1,24 1,10 1.00 0,91 0,82 -
Utilización de herramientas software 1,24 1,10 1.00 0,91 0,83 -
Limitaciones de planificación del proyecto 1,23 1,08 1.00 1,04 1,10 -
17
FAE=1,15*1,00*0,85*1,11*1,00*1,00*1,07*0,86*0,82*0,70*1,00*0,95*1,00*0,91*1,08
= 0,53508480
Justificación de los valores:
Atributos de software
Fiabilidad requerida del software: Si se produce un fallo en el sistema de
comunicaciones satelital (GPS) puede ocasionar grandes pérdidas a la empresa
(Valoración Alta).
Tamaño de la base de datos: La base de datos de nuestro producto será de tipo
estándar (Valoración Nominal).
Complejidad del producto: La aplicación no va a realizar cálculos complejos
(Valoración Baja).
Atributos de hardware
Restricciones del tiempo de ejecución: En los requerimientos se exige alto
rendimiento (Valoración Alta).
Restricciones del almacenamiento principal: No hay restricciones al respecto
(Valoración Nominal).
Volatilidad de la máquina virtual: Se usarán sistemas de la “Familia Android”
(Valoración Nominal).
Tiempo de respuesta del Dispositivo Móvil: Deberá ser interactivo con el usuario
(Valoración Alta).
18
Atributos del personal
Capacidad del analista: Capacidad alta relativamente, debido a la experiencia en
análisis en proyecto similar (Valoración Alta)
Experiencia en la aplicación: Se tiene cierta experiencia en aplicaciones de esta
envergadura (Valoración muy alta).
Capacidad de los programadores: Teóricamente deberá tenerse una capacidad muy
alta por la experiencia en anteriores proyectos similares (Valoración muy alta).
Experiencia en S.O. utilizado: Con Android (Valoración Nominal).
Experiencia en el lenguaje de programación: Es relativamente alta, dado que se
controlan las nociones básicas y las propias del proyecto (Valoración Alta).
Atributos del proyecto
Prácticas de programación modernas: Se usarán prácticas de programación
mayormente convencional (Valoración Nominal).
Utilización de herramientas software: Se usarán herramientas estándar que no
exigirán apenas formación, de las cuales se tiene cierta experiencia (Valoración Alta).
Limitaciones de planificación del proyecto: Existen pocos límites de planificación.
(Valoración Baja).
Cálculo del esfuerzo del desarrollo:
E = a KLDC e * FAE = 3,2 * (8.363)^1,05 * 0,53508480 = 15,91 personas /mes
Cálculo tiempo de desarrollo:
T = c Esfuerzo d = 2,5 * (15,91)^0,38 = 7,15 meses
19
Productividad:
PR = LDC/Esfuerzo = 8363/15,91 = 525 ,64 LDC/personas mes
Personal promedio:
P = E/T = 15,91/7,15 = 2,22 personas
Según estas cifras será necesario un equipo de 3 personas trabajando alrededor de 7 meses, pero
puesto que el desarrollo del proyecto debe realizarse en un plazo 3 meses, incrementaremos a 5
personas el número de personas del equipo de proyecto (ya que 15,91/3 nos da alrededor de este
resultado).
Así pues tendremos un equipo formado por 1 Jefe de proyecto, 1 Analistas, 2 programadores y 1
Responsable de calidad.
20
6. Conclusiones
Antes comenzar una investigación se debe elegir el problema que se desea estudiar. Muchos
autores afirman que se debe elegir el tema a estudiar, pero esto no es así, pues no se estudia
un tema, se estudia un problema que puede estar dentro de un tema.
El Dr. Víctor Bernal, propone que para realizar cualquier trabajo de investigación tengamos
en cuenta 10 puntos básicos que veremos a continuación. En sí, es una guía de los aspectos
fundamentales a estudiar. De la correcta utilización y seguimiento dependerá la profundidad
y el alcance del trabajo.
Para la estimación de factibilidad y costo se utilizó el Modelo Constructivo de Costes
(Constructive Cost Model) fue desarrollado por B. W. Boehm a finales de los 70 y
comienzos de los 80, exponiéndolo detalladamente en su libro "Software Engineering
Economics" (Prentice-Hall, 1981). COCOMO es una jerarquía de modelos de estimación de
costes software que incluye submodelos básico, intermedio y detallado.
21
7. Bibliografía
Alegsa. (23 de 2 de 2011). ALEGSA.com.ar. Recuperado el 10 de 4 de 2010, de http://www.alegsa.com.ar/Dic/android.php Desarrolloweb. (18 de 7 de 2001). Desarrolloweb.com. Recuperado el 9 de 4 de 2010, de http://www.desarrolloweb.com/articulos/497.php Wikipedia. (24 de 3 de 2011). Wikipedia la enciclopedia libre. Recuperado el 24 de 4 de 2011, de http://es.wikipedia.org/wiki/COCOMO