Software requirements elicitation using reverse engineering of graphical user interfaces
DOI:
https://doi.org/10.33304/revinv.v07n1-2016007Keywords:
Requirements elicitation, Graphical user interfaces, Reverse engineering, Features, Software engineeringAbstract
Requirements elicitation is one of the fundamental activities to finding and understanding the required functionality and user needs. This article presents a technique for requirements elicitation from legacy systems applying Reverse Engineering to its Graphical User Interfaces (GUIs). The technique looks at the components of the GUI, the interface language and design patterns, answers about the functionality of the legacy application, making it a useful tool for the analyst when obtaining prior domain knowledge and the user needs. This article presents a technique called ReFRee (Reverse Engineering Requirements for Elicitation) using two examples of application. For both cases, there is not access to its source, data or information about its design and construction. What is interesting is that despite the completely different nature of application domains, the graphical interfaces analysis yields the promising results regarding the recovered functional requirements.Downloads
References
Abbott, R. J. (1983). Program design by informal English descriptions. Communications of the ACM, 26(11), 882894. doi:10.1145/182.358441.
ACSIS. (2012). X Encuesta de Gerencia de Proyectos. Bogotá: Asociación Colombiana de Ingenieros.
Bourque, P., & Dupuis, R. (2004). Guide to the Software Engineering Body of Knowledge 2004 Version. SWEBOK 2004 Guide to the Software Engineering Body of Knowledge. doi:10.1109/SESS.1999.767664.
Brett D. McLaughlin, G. P. & D. W. (2006). Head First Object-Oriented Analysis and Design. (O. Mary, Ed.) (First.). Sebastopol, CA: OReilly. Retrieved from http://pdf76.vmnbook.com/head-first-object-orientedanalysis-and-design_44236.pdf
Briski, K. A., Chitale, P., Hamilton, V., Pratt, A., Starr, B., Veroulis, J., & Villard, B. (2008). Minimizing code defects to improve software quality and lower development costs . Development Solutions. IBM.Crawford, B., Soto, R., de la Barra, C. L.,
Crawford, K., & Olguín, E. (2014). The Influence of Emotions on Productivity in Software Engineering (pp. 307310). doi:10.1007/978-3-319-07857-1_54.
Dijkstra, E. W. (1972). The humble programmer. Communications of the ACM, 15(10), 859866. doi:10.1145/355604.361591. Lamsweerde, A. van. (2009). Requirements Engineering: From System Goals to UML Models to Software Specifications (1st ed.). England: Wiley.
Palmer, R. S., & Felsing, M. J. (2002). APractical Guide to Feature-Driven Development. Upper Saddle River: Prentice-Hall Inc.
Sommerville, I. (2011). Ingeniería del Software (9th ed.). México: Pearson Education.
The Standish Group International. (2013). CHAOS MANIFESTO 2013: Think Big, Act Small. The Standish Gr o u p I n t e r n a ti o n a l, 1 5 2 . Retrieved from http://www.standishgroup.com
Tidwell, J. (2011). Designing Interfaces. (M. Treseler, Ed.) (2nd ed.). OReilly.
VTiger. (2015). VTiger CRM. Retrieved from https://www.vtiger.com/open-source/
Sistema VTiger (2015). [Gráfico]. Recuperado de https://www.vtiger.com/
Sistema K2MedicalWEB (2015). [Gráfico]. Recuperado de Servidores Cruz Roja Colombiana.