• No se han encontrado resultados

4.  Desarrollo ­ Reporte de Avance 

7.1.  Logros: marco de trabajo teórico/práctico 

Este proyecto final ha cumplido aportado al conocimiento del software libre con un análisis crítico,        amplio y exhaustivo de la bibliografía (marco teórico), intentando elaborar una contribución        sustantiva para su abordaje (herramienta) junto a la metodología utilizada para llevarlo a cabo.   

El objetivo principal de esta investigación fue implementar un marco de trabajo teórico/práctico        para la creación y mantenimiento ágil de software libre, orientado al desarrollo de aplicaciones        empresariales centradas en datos. 

 

Si bien dicho eje conductor motivador de la investigación es amplio, dado que contemplaba una        etapa exploratoria inicial, en principio estaría cubierto gracias a los argumentos expuestos y los        artefactos de software diseñados, habiendo realizado una prueba de concepto para validarlo.  En resumen, la solución propuesta en esta investigación ha consistido en:    ● Integrar y mejorar herramientas para desarrollo rápido (simples, poderosas y de fácil uso).  ● Utilizar bibliotecas livianas y marcos de trabajo concretos y concisos (e incrementales).  ● Enfocar en tareas el proceso a nivel de programadores individuales (basado en el PSP).  ● Incluir mecanismos de control y planificación apropiados (con datos empíricos/estadísticos).  ● Reducir la sobrecarga de trabajo automatizando la recolección de métricas y seguimiento de       

líneas de código (para la gestión de contextos, necesarios para el enfoque en tareas)   

Con ello se han elaborado las siguientes propuestas y consideraciones respecto al desarrollo rápido        de software libre, con la meta de brindar un acercamiento hacia una “bala de plata” para la        ingeniería de software (relacionada a las problemáticas presentadas en esta investigación): 

 

● Facilitar la concurrencia y viabilidad aún en grupos reducidos, en particular promoviendo        una mayor participación de principiantes, en pos de una mayor diversidad sustentable.  ● Propiciar un mercado más horizontal y diverso (prosumidores), tendiente a que un mayor       

número de usuarios se conviertan en desarrolladores; no solo para que puedan probar e        identificar defectos, sino también para que puedan proveer soluciones. 

● Motivar a los desarrolladores visibilizando el trabajo más rápidamente (por ej., apoyado en        herramientas visuales de diseño y seguimiento). 

● Reconciliar las mejores prácticas de la industria (RAD/PSP), ayudando a definir        lineamientos para limitar la complejidad y estrategias para incrementar la modularidad.  ● Facilitar el mantenimiento y toma de decisiones de arquitectura, intentando disminuir los       

conflictos / discusiones internas de las comunidades (posibilitando análisis cuantitativos).  ● Mejorar las oportunidades comerciales (proveyendo herramientas actualizadas y       

sustentables), minimizando incertidumbres (riesgos,  planificación, calidad, etc.). 

● Cubrir determinadas necesidades insatisfechas de mercado (especialmente relativas a        aplicaciones transaccionales empresariales centradas en datos, de escritorio y similares). 

7.2. Relevancia 

Este estudio busca reactivar y completar áreas de desarrollo rápido de software libre que están        desatendidas por los proyectos actuales (vb2py tiene 10 años de inactividad , y otras herramientas      189        RAD como PythonCard , WinPDB    190  191   o Boa Constructor  192 han tenido la misma suerte, y/o no ha       

189 http://vb2py.sourceforge.net/news.htm última liberacion: 2004 

190 http://pythoncard.cvs.sourceforge.net/viewvc/pythoncard/PythonCard/ ultimo cambio: circa 2006  191 https://code.google.com/p/winpdb/source/list  último cambio al repositorio: 2011 

habido interés en integrar y mantener una solución). Esto puede deberse a muchos preconceptos       

negativos sobre la calidad del modelo de desarrollo rápido, falencias de lenguajes previos como       

VisualBasic, complejidad excesiva o simplemente por obsolescencia .  193   Por ello, para esta investigación se plantea otro enfoque superador, más simple y mantenible,       

siguiendo las buenas prácticas de la ingeniería de software, simplificado a nivel personal,       

adaptándolo a investigaciones modernas (por ej. interfaces enfocadas en tareas), con       

funcionalidades actualizadas (por ej. con herramientas de diseño y depuración tanto para desarrollos       

GUI, WEB, y para dispositivos móviles a futuro)     Además, para disminuir la carga de trabajo y asistir al desarrollador, se proponen ideas originales       

para resolver varios temas generales como la correcta recolección de métricas de manera       

automatizada (por ej. vía cámara web para constatar los tiempos inactivos), y el seguimiento de las       

líneas de código fuente (identificándolas con UUID) para elaborar un contexto simplificado y       

relevante. 

7.3. Limitaciones  

Dado que los datos recolectados han sido acotados, los resultados no pueden generalizarse (en parte       

también debido a la metodología de Investigación­Acción desarrollada). Igualmente, la herramienta       

diseñada en sí permitirá obtener mayor cantidad de datos cuantitativos, si se realizan futuras       

investigaciones sobre casos más extensos como docencia u otros ámbitos empresariales, para poder       

extraer conclusiones más detalladas y generalizables.    También habrá que evaluar a futuro la participación e impacto que logra en la comunidad de       

software libre, para que pueda difundirse y extenderse a niveles que aseguren su sustentabilidad a       

largo plazo. Por ej, más allá del proyecto wxPython, se intentó continuar con el mantenimiento y       

modernizar la biblioteca relacionada PythonCard, sin mayor éxito hasta el momento . Por otra      194     

parte, el anuncio reciente de la versión experimental de la herramienta desarrollada en este       

proyecto, ha despertado cierto interés en el foro      195   y redes sociales, cuestión que podría ser       

alentadora para continuar el desarrollo de la misma. 

7.4. Futuras líneas de investigación 

Dados los ajustes a la planificación, se excluyó el tema de migración de código legado vía EBNF.       

Esto podría agregarse a futuro integrando a las herramientas desarrolladas y proseguir con la       

investigación sobre mantenibilidad y evolución de software (principalmente en el caso de sistemas       

heredados migrados a software libre).    También la recolección de métricas y metadatos posible con la herramienta desarrollada en este       

trabajo, permitiría compartir y distribuir dicha información para extender la investigación a otros       

sectores con un mayor sustento cuantitativo empírico.  En este sentido, se abrirían varias posibilidades para estudiar temáticas como patrones de edición,       

ayuda al desarrollador, entre otras, incluyendo a su vez, investigaciones sobre la implicancia de        seguridad y privacidad de las técnicas expuestas en este trabajo.   

192 http://sourceforge.net/p/boa­constructor/news/ última novedad: 2006 

193 http://www.reddit.com/r/Python/comments/29ds46/why_are_there_no_python_rad_type_ide_guis/   194 http://sourceforge.net/p/pythoncard/mailman/message/31332723/  

Referencias 

1. Agarwal K., Agarwal A., and Hiller, C. (2013).       Rapid applications development in Python​       

Journal of Computer Sciences in Colleges. 28, 4. April 2013, 42­48. 

2. Bacchelli A., Ponzanelli L., Lanza M. (2012)        Harnessing Stack Overflow for the IDE.           

REVEAL @ Faculty of Informatics ­ University of Lugano, Switzerland. Third International        Workshop on Recommendation Systems for Software Engineering (RSSE). Zurich, 4­4 June        2012.    196

3. Bessen J (2006).     Open Source Software: Free Provision of Complex Public Goods                ​. In J.     

Bitzer and P.J.H. Schröder (Eds.)         The economics of Open Source Software Development              (pp.15­55). Amsterdam. Elsevier. ISBN 9780444527691  197

4. Bland M. (2014).     Finding More Than One Worm in the Apple.               ACM Queue 12, 5, pages 10       

(May 2014), ​DOI=10.1145/2620660.2620662 

5. Chaiyo Y., Ramingwong S. (2013)         The Development of a Design Tool for Personal Software                 

Process (PSP)  ​. 10th International Conference on Electrical Engineering/Electronics, Computer,        Telecommunications and Information Technology (ECTI­CON), IEEE. Krabi, 15­17 May 2013.        ISBN: 978­1­4799­0546­1. pp. 1­4. doi: ​10.1109/ECTICon.2013.6559562 

6. Choi H.J., Sang­Hun L., Syed A., Ahmad I., Hyun­Il S. and Young­Kyu P. (2013)       Towards an   

Integrated Personal Software Process and Team Software Process Supporting Tool.                    Software Process Improvement and Management: Approaches and Tools for Practical        Development.  IGI  Global,  2012.  205­223.  Web.  5  Dec.  2013.  doi:  10.4018/978­1­61350­141­2.ch010 

7. El­Ramly M., Eltayeb R., & Alla H.A. (2006)       An Experiment in Automatic Conversion of           

Legacy Java Programs to C#        ​. IEEE International Conference on Computer Systems and        Applications. March 8, 2006. (pp. 1037­1045). doi:​ ​10.1109/AICCSA.2006.205215 

8. Feller J. & Fitzgerald B. (2002)        Understanding Open Source software development.         

Addison­Wesley Professional. UK. ISBN 978­0201734966 

9. Glass R.L. (2008)     Two Mistakes and Error­Free Software: A Confession.             IEEE Software,   

vol.25, no.4, pp.96,96, July­Aug. 2008 doi: ​10.1109/MS.2008.102 

10.Glass R.L. (2000)     "The Sociology of Open Source: Of Cults and Cultures,"                 IEEE Software,   

vol. 17, no. 3, pp. 104­105, May­June 2000, doi: ​10.1109/MS.2000.10027  198

11.Goth G. (2009).     The Task­Based Interface: Not Your Father's Desktop            . IEEE Software,​     

Volume: 26 Issue 6), 88­91. doi:​10.1109/MS.2009.191  199

12.Hang J., Hohensohn H., Mayr K., Wieland T. (2005)       Benefits and Pitfalls of Open Source in             

Commercial Contexts  ​. In Koch, S.       Free/Open Source Software Development       (pp.1­26) Idea    Group Publishing. Hershey, Pensilvania. EE.UU. ISBN 1­59140­369­3  200

13.Holck J. & Jørgensen N. (2005)       Do Not Check in on red: Control Meets Anarchy in Two                     

Open Source Projects    ​. In Koch, S.       Free/Open Source Software Development       (pp.222­239)  Idea Group Publishing. Hershey, Pensilvania. EE.UU. ISBN 1­59140­369­3  201

14.Lugo Garcia J.A., Garcia Perez A.M. (2011)       Colección automática de métricas hacia un           

repositorio de mediciones    ​.  Revista Facultad de Ingeniería Universidad de Antioquia. 2011,        n.58, pp. 199­207 . ISSN 0120­6230.  202 196 http://sback.it/publications/rsse2012.pdf   197 http://www.researchoninnovation.org/opensrc.pdf  198 http://www.computer.org/csdl/mags/so/2000/03/s3104.pdf  199 http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=05287017    200 https://www.academia.edu/2732160/Free_open_source_software_development  201 https://www.academia.edu/2732160/Free_open_source_software_development   202 http://www.redalyc.org/pdf/430/43021467021.pdf 

15.Asaduzzaman M., Roy C. K. , Schneider K. A. (2013)       ​LHDiff: A Language­Independent     

Hybrid Approach for Tracking Source Code Lines.             Software Maintenance (ICSM), 2013       

29th IEEE International Conference on; vol., no., pp.230,239, 22­28 Sept. 2013 doi:       

10.1109/ICSM.2013.34​    203

16.Mon A., De María E., Estayno M., Serra D. (2011)       Mejora de procesos para Pymes de           

software​. Grupo de Ingeniería de Software (G.I.S.) Departamento de Ingeniería/Universidad       

Nacional de La Matanza. Facultad de Ingeniería/Universidad Nacional de Lomas de Zamora.       

XIII Workshop de Investigadores en Ciencias de la Computación. Mayo 2011. ISBN:       

978­950­673­892­1. pp. 634­638.  204 17.Murphy G.C., Kersten M., Findlater L. (2006)       How are Java software developers are using             

the Eclipse IDE?     IEEE Software article, (c) IEEE (2006) Volume: 23, Issue: 4 pp 76­ 83. doi:       

10.1109/MS.2006.105  205 18.Rong G., Shao D.; Zhang H. (2010)       SCRUM­PSP: Embracing Process Agility and Discipline          .​ 

17th Asia Pacific Software Engineering Conference (APSEC), IEEE. Sydney, NSW, Nov. 30       

2010­Dec. 3 2010. pp.316­325. doi: ​10.1109/APSEC.2010.44  206 19.Rossi, M (2006).     Decoding the Free/OpenSource Software Puzzle: A Survey of Theoretical                 

and Empirical Contributuions    ​. In J. Bitzer and P.J.H. Schröder (Eds.)       The economics of     

Open Source Software Development       (pp.15­55). Amsterdam. Elsevier. ISBN 9780444527691       

  207 20.Zhang F., Khomh, F., Zou Y., Hassan A.E. (2012)       An Empirical Study of the Effect of File               

Editing Patterns on Software Quality​        . 19th Working Conference on Reverse Engineering       

(WCRE), IEEE. Kingston, ON 15­18 Oct. 2012. ISSN:1095­1350. pp. 456 ­ 465.  doi:       

10.1109/WCRE.2012.55  21.Paulson J.W.; Succi G.; Eberlein A. (2004)        An empirical study of open­source and           

closed­source software products.     IEEE Transactions on Software Engineering, vol.30, n.4,       

pp.246,256, Apr 2004  208 22.Samoladas I., Gousios G., Spinellis D., Stamelos I. (2008)       The SQO­OSS quality model:       

measurement­based open source software evaluation.           In Ernesto Damiani and Giancarlo       

Succi, editors, Open Source Development, Communities and Quality — OSS 2008: 4th       

International Conference on Open Source Systems, pages 237–248. IFIP 20th World Computer       

Congress,  Working  Group  2.3  on  Open  Source  Software,  September  2008.  (doi:10.1007/978­0­387­ 09684­1)​ . Springer.  23.Schmidt, B., Reinhardt, W. (2009)         Task Patterns to support task­centric Social Software             

Engineering.  3rd  International  Workshop  on  Social  Information  Retrieval  for  Technology­Enhanced Learning &&**495. Aachen, Germany, August 21, 2009.   209 24.Sunindyo W., Moser T., Winkler D., Dhungana D. (2012)       Improving Open Source Software       

Process Quality Based on Defect Data Mining.             4th International Conference, SWQD 2012,         

Vienna, Austria, January 17­19, 2012. Proceedings. pp 84­102. Springer Berlin Heidelberg.       

ISBN 978­3­642­27212­7  25.Weinstock C., Place P., Hissam S., Plakosh D. (2000)         A Discussion of Open Source Software.         

News at SEI on: March 1, 2000. Software Engineering Institute. Carnegie Mellon University  210 Nota:​ Los sitios web han sido consultados entre Febrero de 2014 y Enero de 2015.     203 http://www.cs.usask.ca/~croy/papers/2013/LHDiffFullPaper­preprint.pdf   204 http://hdl.handle.net/10915/20141  205 http://www.tasktop.com/pdfs/docs/publications/2006­ieee­eclipse­usage.pdf  206 http://www.nicta.com.au/pub?doc=4164   207 http://www.econ­pol.unisi.it/quaderni/424.pdf  208 http://www.enel.ucalgary.ca/People/eberlein/publicalección dtions/01274044.pdf  209 http://ceur­ws.org/Vol­535/Schmidt_Reinhardt_SIRTEL09.pdf  210 http://www.sei.cmu.edu/library/abstracts/news­at­sei/roundtablemar00.cfm 

Licencia 

 

© 2014 ­ 2015, Mariano Reingart <​[email protected]​> 

Esta obra está bajo una ​Licencia Creative Commons Atribución­CompartirIgual 3.0 Unported​.  Para ver una copia de la licencia, visite ​http://creativecommons.org/licenses/by­sa/3.0/​ o envíe una