Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4. MÉTODO DE TRABAJO Y HERRAMIENTAS 27<br />
4.1.2. Desarrollo dirigido por pruebas<br />
Des<strong>de</strong> el principio, el planteamiento fue realizar la implementación <strong>de</strong> este proyecto usando<br />
una metodología ágil, basando esta i<strong>de</strong>a en el previo conocimiento <strong>de</strong> las ventajas que<br />
esta técnica ofrecía.<br />
Test Driven Development (TDD) es una técnica incluida en lo que se conoce como metodología<br />
XP [Bec00]. <strong>La</strong> filosofía <strong>de</strong> esta técnica es crear las pruebas antes que el código.<br />
Cada prueba garantiza el cumplimiento <strong>de</strong> un requisito funcional concreto.<br />
<strong>La</strong>s ventajas <strong>de</strong> esta técnica son numerosas y algunas <strong>de</strong> las más importantes son:<br />
Sólo se implementa lo necesario para satisfacer la prueba y no más. No habrá código<br />
que no sea necesario.<br />
Se disminuye el número <strong>de</strong> errores. Cualquier modificación que afecte a algún componente<br />
se <strong>de</strong>tecta y se resuelve fácilmente.<br />
El código es reutilizable y se pue<strong>de</strong> cambiar con relativa facilidad.<br />
<strong>La</strong> productividad aumenta consi<strong>de</strong>rablemente porque se invierte menos tiempo en la<br />
<strong>de</strong>puración.<br />
Para po<strong>de</strong>r seguir esta técnica se <strong>de</strong>ben tener claros los escenarios que se quieren probar.<br />
Los escenarios serán la colección <strong>de</strong> pruebas que servirán para ir construyendo la API<br />
<strong>de</strong>l sistema. <strong>La</strong> <strong>de</strong>scripción <strong>de</strong> los escenarios se hace utilizando la técnica Behavior Driven<br />
Development (BDD). Esta técnica utiliza una plantilla que permite enten<strong>de</strong>r mejor el funcionamiento<br />
global <strong>de</strong> sistema:<br />
Given: Dado un contexto inicial.<br />
When: Cuando se produce un evento.<br />
Then: Entonces se obtienen unos resultados.<br />
4.2. Herramientas<br />
4.2.1. Lenguajes <strong>de</strong> programación<br />
Python - lenguaje <strong>de</strong> alto nivel, interpretado, multiparadigma y orientado a objetos, creado<br />
por Guido van Roosum. Se utiliza este lenguaje <strong>de</strong>bido a la simplicidad <strong>de</strong>l código y<br />
su amplia librería estándar.<br />
Este lenguaje se usa para implementar el particular mo<strong>de</strong>lo <strong>de</strong> comunicación <strong>de</strong> eventos<br />
DDS y también es usado para la implementación <strong>de</strong> las pruebas realizadas.<br />
C++ - lenguaje que proporciona mecanismos <strong>de</strong> orientación a objetos y es compatible con<br />
C. Fue creado por Bjarne Stroustrup.<br />
C++ se utiliza para implementar los ejemplos básicos <strong>de</strong> OpenSplice y RTI DDS.