Está en la página 1de 14

INGENERIA EN SISTEMAS CUMPUTACIONALES

MOVIL CON METODOLOGIA XP

PRESENTA:
ALONSO ORTEGA ALAN ALEXANDER
CARRETERO MALDONADO MICHEL.
HURTADO SÁNCHEZ LISSETH.
MARTÍNEZ GONZÁLEZ ELVIA.
VILCHIS VELÁZQUEZ MIGUEL ÁNGEL.
INDICE
Introducción......................................................................................................................................1
¿Qué es Arduino?...........................................................................................................................2
Origen...........................................................................................................................................2
¿Para qué sirve?.........................................................................................................................3
¿Qué metodología podemos utilizar para llevar a cabo el ensamble móvil Arduino
controlado por Bluetooth?..............................................................................................................3
¿Cómo funciona el Extreme Programming?............................................................................4
Características del desarrollo de procesos ágiles..................................................................6
Fases de la metodología XP..........................................................................................................6
¿Cuáles serían los roles de trabajo de cada uno de los integrantes?.....................................8
Cuáles son los materiales o artefactos para la ejecución de la metodología XP...................9
Definir las características de nuestro móvil.................................................................................9
Descripción y representación de aplicación móvil....................................................................10
Montaje del circuito...................................................................................................................10
Conexión Bluetooth - App Inventor.........................................................................................11
Conclusión......................................................................................................................................12
Introducción
La creación de un carro manejado por bluetooth sirve de estímulo mental para
introducirlo al estudio formal de la robótica. Además, la robótica y la inteligencia
artificial se unen para que pueda pensarse en seres artificiales por medio de
máquinas y estas tienen mucho que ver en el proceso de la vida diaria del ser
humano. Para entender cómo funciona un carro manejado por bluetooth es
necesario conocer las partes que lo conforman, las partes que están involucradas
en su fabricación, sino que también se considera la forma en que pueda
interactuar con el medio y para ello se introducen conceptos de visión artificial
para que se aprecie el grado de aplicaciones que pueda tener un robot de esta
naturaleza.

1
¿Qué es Arduino?
Basada en la filosofía del software libre, Arduino es una plataforma de electrónica
«open-source» o de código abierto cuyos principios son contar con software y
hardware fáciles de usar. Básicamente lo que permite esta herramienta es la
generación de infinidad de tipos de microordenadores de una sola placa, que
luego pueden tener una amplia variedad de usos según la necesidad de la
persona que lo cree. Es decir, una forma sencilla de realizar proyectos interactivos
para cualquier persona.

Origen.
Esta plataforma se inició en el año 2005 como un proyecto para estudiantes en el
Instituto IVREA, en Ivrea (Italia). En ese tiempo, los estudiantes usaban el
microcontrolador BASIC Stamp, cuyo coste era de 100 dólares estadounidenses,
lo que se consideraba demasiado costoso para ellos. Por aquella época, uno de
los fundadores de Arduino, Massimo Banzi, daba clases en Ivrea.

El nombre del proyecto viene del nombre del Bar di Re-Arduino (Bar del Rey
Arduino) donde Massimo Banzi pasaba algunas horas. El rey Arduino fue rey de
Italia entre los años 1002 y 1014.

En la creación de este proyecto contribuyó el estudiante colombiano Hernando


Barragán, quien desarrolló la tarjeta electrónica Wiring, el lenguaje de
programación y la plataforma de desarrollo. Una vez concluida dicha plataforma,
los investigadores trabajaron para hacerlo más ligero, económico y disponible para
la comunidad de software libre (hardware y código abierto). El instituto finalmente
cerró sus puertas, así que los investigadores, entre ellos el español David
Cuartielles, promovieron la idea. Banzi afirmaría años más tarde que el proyecto
nunca surgió como una idea de negocio, sino como una necesidad de subsistir
ante el inminente cierre del Instituto de diseño Interactivo IVREA. El motivo es que,
al crear un producto de hardware abierto, nadie podría embargarlo.

2
¿Para qué sirve?
Arduino se puede utilizar para desarrollar elementos autónomos, o bien
conectarse a otros dispositivos o interactuar con otros programas, para interactuar
tanto con el hardware como con el software. Sirve tanto para controlar un
elemento, pongamos por ejemplo un motor que nos suba o baje una persiana
basada en la luz que haya gracias a un sensor conectado al Arduino, o bien para
transformar la información de una fuente, como puede ser un teclado, y convertir
la información a algo que entienda, por ejemplo, un ordenador.

Actualmente, el uso de Arduino puede catalogarse en dos grandes grupos:

1. Arduino es utilizado como un microcontrolador, cuando tiene un programa


descargado desde un ordenador y funciona de forma independiente de éste, así
como también controla, alimenta determinados dispositivos, toma decisiones de
acuerdo con el programa descargado e interactúa con el mundo físico gracias a
sensores y actuadores.

2. Arduino hace de interfaz entre un ordenador u otro dispositivo, que ejecuta una
determinada tarea, para traducir dicha tarea en el mundo físico a una acción. Y
viceversa, gracias a sensores que están conectados a la placa Arduino podemos
hacer que el ordenador ejecute determinada acción.

¿Qué metodología podemos utilizar para llevar a cabo el ensamble


móvil Arduino controlado por Bluetooth?
El Extreme Programming (XP) es un método ágil creado a finales de los 90’ para
el desarrollo de software.

Se trata de una metodología cuyo objetivo es crear sistemas de alta calidad,


basados en una estrecha interacción con los clientes, pruebas constantes y ciclos
de desarrollo cortos.

3
La idea es "modernizar" la secuencia tradicional de desarrollo en cascada, que
analiza, proyecta, implementa y prueba, entendiendo que se trata de un modelo
burocrático y poco flexible ante un mundo en constante transformación.

¿Cómo funciona el Extreme Programming?


El Extreme Programming es una metodología de desarrollo ágil, al igual que
Scrum y Kanban.

En definitiva, el objetivo principal es realizar ciclos de entrega rápidos, continuos e


incrementales para conseguir los resultados esperados por el cliente.

En XP, correctamente, esto se hace en base a prácticas y etapas predefinidas


para que el proceso tenga la máxima efectividad. El software (u otro proyecto) se
desarrolla en ciclos semanales, con reuniones periódicas entre el cliente y el
equipo de desarrollo.

 Juego de planificación: al principio de la semana, el equipo se reúne con el


cliente para enumerar las funcionalidades prioritarias y aclarar las
expectativas y necesidades con respecto al proyecto. Aquí se define el
alcance (siempre flexible y negociable). La reunión se denomina Juego de
Planificación.
 Cliente siempre disponible: disponibilidad constante del cliente para
responder a preguntas, priorizar el alcance y realizar cambios.
 Lanzamientos pequeños o entregas cortas: al final de la semana el cliente
recibe pequeñas versiones del proyecto para que pueda probarlo y sugerir
mejoras.
 Metáfora: es la estrategia utilizada por el ámbito tecnológico para facilitar la
comunicación con el cliente, traduciendo las particularidades del sistema a
su realidad. Al simplificar la comprensión, se gana tiempo y se alinean las
expectativas.
 Diseño sencillo: cuanto más sencillo sea el código y la búsqueda de los
resultados esperados por el cliente, mejor. La simplicidad debe centrarse en
el resultado, es decir, no siempre un código fácil de desarrollar representará
la solución más sencilla para el cliente.

4
 Pruebas de usuario: es el momento en que el cliente y los analistas
prueban las entregas.
 Ritmo sostenible: el Extreme Programming supone el respeto al factor
humano, la búsqueda de la motivación y la armonía entre los implicados.
Los ciclos deben estar formados por semanas de hasta 40 horas, con un
ritmo de trabajo saludable por parte del equipo
 Propiedad colectiva: los proyectos desarrollados deben ser conocidos y
accesibles a todo el equipo, sin necesidad de permiso para acelerar el
proceso y hacerlo más transparente, de acuerdo con lo que asume la
gestión a la vista.
 Programación por parejas: la programación en un mismo ordenador se
realiza por parejas para garantizar que el desarrollo pase por una revisión
constante y el aprendizaje de cada profesional evolucione en el proceso.
Dos cabezas piensan mejor que una y favorecen la puesta en común del
conocimiento de las reglas de negocio y la nivelación técnica de los
programadores.
 Estandarización del código: en el caso del desarrollo de software, es
necesario estandarizar el código para que todo el mundo siga las mismas
reglas y, por tanto, parezca que el código ha sido editado por la misma
persona.
 Desarrollo dirigido por pruebas: las pruebas unitarias son fundamentales
para la calidad del proyecto. Crea pruebas unitarias y sólo una vez hecho
esto crea el código para ponerlas en funcionamiento.
 Refactoring: es un proceso que permite la mejora continua del proyecto,
haciéndolo más claro, con menos posibilidad de errores y duplicación de
procesos.
 Integración continua: al crear una nueva funcionalidad, ésta debe integrarse
rápidamente a la versión actual del sistema. Esto se debe a que, cuanto
antes se pruebe, antes se descubrirán los problemas y se podrán
solucionar.

5
Características del desarrollo de procesos ágiles
Aunque, en principio, el Extreme Programming y todos los pasos anteriores se
utilizan en el área de TI, es importante decir que las metodologías ágiles son
adaptables a varios tipos de proyectos que requieran flexibilidad para el cambio.

Siempre que sea necesario, el desarrollo ágil actuará para reorganizar el proceso
en función de las nuevas demandas.

Una empresa centrada en la agilidad no sólo realiza las tareas con más rapidez y
flexibilidad, sino que también transforma toda su cultura interna. Hay que
centralizar toda la operación para:

 Satisfacer al cliente
 Generar entregas y mejoras continuas
 Prepararse para los cambios a lo largo del proceso
 Garantizar la calidad, aunque sea en un periodo de tiempo más corto
 Trabajar en equipo

Fases de la metodología XP

6
FASE 1: PLANIFICACIÓN

Según la identificación de las historias de usuario, se priorizan y se descomponen


en mini-versiones. La planificación se va a ir revisando. Cada dos semanas
aproximadamente de iteración, se debe obtener un software útil, funcional, listo
para probar y lanzar.

FASE 2: DISEÑO

En este paso se intentará trabajar con un código sencillo, haciendo lo mínimo


imprescindible para que funcione. Se obtendrá el prototipo. Además, para el
diseño del software orientado a objetos, se crearán tarjetas CRC (Clase-
Responsabilidad-Colaboración).

FASE 3: CODIFICACIÓN «DE TODOS»

La programación aquí se hace «a dos manos», en parejas en frente del mismo


ordenador. Incluso, a veces se intercambian las parejas. De esta forma, nos
aseguramos de que se realice un código más universal, con el que cualquier otro
programador podría trabajar y entender. Y es que deber parecer que ha sido
realizado por una única persona. Así se conseguirá una programación organizada
y planificada.

FASE 4: PRUEBAS

Se deben realizar pruebas automáticas continuamente. Al tratarse normalmente


de proyectos a corto plazo, este testeo automatizado y constante es clave.
Además, el propio cliente puede hacer pruebas, proponer nuevas pruebas e ir
validando las mini-versiones.

FASE 5: LANZAMIENTO

Si hemos llegado a este punto, significa que hemos probado todas las historias de
usuario o mini-versiones con éxito, ajustándonos a los requerimientos de los
clientes. Tenemos un software útil y podemos incorporarlo en el producto.

7
¿Cuáles serían los roles de trabajo de cada uno de los integrantes?
Los miembros de un equipo trabajan mejor cuando hay roles establecidos, cada
rol tiene consigo responsabilidades que tienen como finalidad cumplir con los
objetivos del proyecto. Algunos proyectos necesitan de múltiples roles como
tésteres o probadores, ingenieros de calidad, analista de requerimientos,
administrador del proyecto, administrador del producto, profesionales de
marketing. El número de roles varía de acuerdo con el proyecto. A continuación,
se explican algunos de los más relevantes:

 Programador: Es el corazón de XP, el programador con base en su


experiencia puede tomar decisiones que afecten el desarrollo del proyecto.
Su tarea es lograr que la computadora comprenda y haga todo según los
requerimientos del usuario, el programador debe conocer cómo hacer el
programa y trabajar de la mano con el cliente.
 Clientes: El cliente dirige y conoce las metas a alcanzar en el proyecto.
Debe conocer qué debe hacer el programa, para que de esta forma guíe y
trabaje de la mano con los programadores, por lo tanto, debe aprender a
escribir las historias de usuario. El cliente y los desarrolladores tienen gran
responsabilidad en el proyecto.
 Tester (probadores): Su responsabilidad es correr las pruebas funcionales
con regularidad y dar a conocer los resultados de esta, así como elaborar
las pruebas junto con el cliente.
 Tracker (responsable del seguimiento): Debe conocer el alcance funcional
del equipo, controla los tiempos de desarrollo, controlar los hitos y entregas,
puede tomar decisiones estratégicas para el equipo y debe asegurar el
alcance y despliegue de la aplicación.

8
Cuáles son los materiales o artefactos para la ejecución de la
metodología XP
En todo proceso de desarrollo de software se generan modelos de información. En
XP se generan varios artefactos como:

 Tarjetas de historias de usuario (Story Card).


 Tarjetas de tareas para la descarga de documentos.
 Código
 Pruebas unitarias y de integración
 Pruebas de aceptación.

Los artefactos son importantes para conocer cuál fue el proceso de desarrollo del
software y lograr entender cómo está construido el sistema, así como la ruta a
seguir para agregar funcionalidad al sistema.

Definir las características de nuestro móvil.


 Carcasa.
 Llantas.
 Controlador de Bluetooth.
 Programa de control.
 Arduino.
 Protoboard.
 Jumpers.
 Puente H.
 Motores.
 Sensor ultrasónico.

9
Descripción y representación de aplicación móvil.
Montaje del circuito.
Se realizan las conexiones correspondientes para darle funcionamiento a cada
elemento que conforman el carro.

10
Conexión Bluetooth - App Inventor.
Se realiza la conexión del sensor de Bluetooth a la aplicación tomando en cuenta
el código de programación, para su manipulación por medio del móvil.

11
Conclusión
En resumen, Arduino es una plataforma electrónica de código abierto que ofrece
una manera fácil y accesible de aprender sobre programación y electrónica. Su
versatilidad, junto con su creciente comunidad de usuarios, lo convierte en una
herramienta de gran alcance para desarrollar proyectos interactivos y avanzar en
habilidades técnicas.

12

También podría gustarte