Automatic Reuse of Prototypes in Software Engineering: a Survey of Available Tools
Total Page:16
File Type:pdf, Size:1020Kb
Automatic Reuse of Prototypes in Software Engineering: A Survey of Available Tools A. Sanchez-Villar´ ´ın1 a, A. Santos-Montano˜ 1 b and J. G. Enr´ıquez2 c 1IWT2 Research Group, University of Seville, Spain 2Computer Languages and Systems Department, University of Seville, E.T.S. Ingenir´ıa Inoformatica,´ avda. Reina Mercedes s/n, 41012, Seville, Spain Keywords: Prototypes, Prototypes Tools, Prototypes Reuse. Abstract: The use of prototypes as an excellent mechanism for communication between software users has been fully accepted in the literature. Both the academic and business worlds agree on its use as a software technique, used primarily to capture requirements and as a means of communication with the user. However, often, prototypes are developed very quickly or without the collaboration of the users. This is one of the main reasons why the real power of the prototypes is not used in software development. The initial hypothesis of this research is that this problem occurs because prototypes are regarded as disposable milestones. This paper analyzes whether there are adequate tools on the market to help development teams to reuse prototypes as an exceedingly mechanism for starting and expediting new software development projects. With the present study we show different tools for prototypes that, even though they are a preliminary evaluation, show the disadvantages to be solved in the future development and research of solutions. 1 INTRODUCTION et al., 2004). Under our experience with companies (Escalona The use of prototypes to improve the communication and Koch, 2004), this idea is not so wild. When we with clients are final users is a technique not only con- consider to develop prototypes in the development life sidered in software engineering. In fact, it is a tech- cycle (mainly in the early phases), we have to decide nique considered in mainly any product development. several critical aspects like use high or low confidence Thus, for instance, the design thinking methodology prototypes or the use of vertical or horizontal proto- (Brown et al., 2008; Dym et al., 2005) proposes the types among others. These decisions require time and definition of prototypes as the base for each product resources and if the prototypes are considered as a dis- definition and it has to be developed after empathiz- posable milestone, this cost seems not to be justified. ing, defining and thinking with final users. Another option to this situation is to try to develop In software engineering context, interface proto- prototypes that could be “reused” in the next activities types are recognized as a very powerful tool for the of the software development life cycle, for instance, communication with client and final users (Alavi, in interface design. However, translating prototypes 1984). However, in practice, it has been noticed that to software interfaces requires a manual process, con- software and interfaces prototypes are developed in sequently, it produces an increase of cost again. a very fast way, with very few resources, and even, To find a solution to this situation, there are sev- without the enrollment of users. Results of this pro- eral tools in the market that promise to help to the de- cess normally are discarded in the rest of the life cycle velopment teams to develop prototypes that could be and it provokes that some software teams and com- “automatically” translated into future software inter- panies consider them as a “required play” that only face. Thus, the investment of prototypes development use resources with a minimum of benefices (Escalona is justified and the team could benefit from prototypes advantages. a https://orcid.org/0000-0002-7740-5327 In this paper, we present a global view about tools b https://orcid.org/0000-0002-0749-6411 that promise to help us in the process to generate anal- c https://orcid.org/0000-0002-2631-5890 ysis and design products or even coding prototypes 144 Sánchez-Villarín, A., Santos-Montaño, A. and Enríquez, J. Automatic Reuse of Prototypes in Software Engineering: A Survey of Available Tools. DOI: 10.5220/0008352901440150 In Proceedings of the 15th International Conference on Web Information Systems and Technologies (WEBIST 2019), pages 144-150 ISBN: 978-989-758-386-5 Copyright c 2019 by SCITEPRESS – Science and Technology Publications, Lda. All rights reserved Automatic Reuse of Prototypes in Software Engineering: A Survey of Available Tools automatically or, at least, semi-automatically. step, the IT Team execute the life cycle to analyze, The rest of this paper is structured as follows. design and built the software to support these proto- Firstly, we starting with a very short introduction of types. In the third steps, the result is implanted and the context where this research is being developed, deployed in the environment. It is only a short pre- which is very closed to the enterprise world. In Sec- sentation but, obviously, each step has a set of phases, tion 3, the methodology followed for this study is de- task and techniques to be applied that can be obtained scribed. Section 4 instances the methodology pro- from (NDT-Navitgational Development Techniques, posed in previous section and presents the results ob- 2019). However, this global view, let us to introduce tained. Section 5 presents learned lessons and finally, our motivation to present the problem that we want paper finishes with a set of conclusions and future to try to start to solve with this paper. The team in works. iMedea requires that, after design a very high-fidelity prototype, they must create the analysis, the screen or any aspect from zero, and the original prototypes are only used for communication. They claim if it will 2 CONTEXT possible to try to reuse them to automatically gen- erate products in the next phases automatically. In Coding prototypes with the same precision with fact, NDT use the Model Driven Paradigm (MDE) which they were designed is a real problem in daily (Dom´ınguez-Mayo et al., 2012) in other aspects, for programming (McMillan et al., 2012). Unfortunately, instance, to produce test from requirements. So, the current methods found in both literature and industry question that motives this work is: could be possible do not allow prototypes to be transformed into modifi- to use prototypes defined and validated with the user able code, following requirements and characteristics to generate products in the rest of the life cycle? that must be met. In a Scrum (Schwaber and Bee- In this sense, it is necessary to use tools that opti- dle, 2002) or Design Sprint methodology (Banfield mize the process from obtaining the validation of the et al., 2015) context, the importance of having vali- prototypes to the already programmed views, evalu- dated prototypes saves a lot of time and avoids future ating that it is possible to obtain a code that can be problems if the programming is in an advanced state. modified later and that is faithful to the styles of the The problem that is cited is common within the prototypes. To this end, it will be inevitable that the iMedea project (innovative Medical Engineering As- prototypes are made with delicacy, effort and enthusi- sistance) (Escalona, 2019) by G7Innovation (G7 In- asm, as this would save time in programming. novation, 2019) in Seville, in which the prototypes are validated in collaboration with the Inebir clinic, but there are details or formulas that escape once they are translated to the code. G7 Innovation is a SME 3 METHODOLOGY (Small and Medium Enterprise) focused in the devel- opment of software oriented to sanitary environments. Systematic Literature Reviews (SLRs) (Kitchenham In fact, they produce high TIC results in the field of and Brereton, 2013) and Systematic Mapping Studies Smart Laboratories, Human Reproduction or specific (SMSs) (Petersen et al., 2008) are some of the most results for chronic treatment using different devices commonly used methods for performing state-of-the- and sensors (V. Cid, 2019; L. Morales, 2019). In this art studies in software engineering. The choice of context, the communication between the sanitary en- each of them depends on the objectives to be achieved vironment and the IT engineers is a critical factor to with the research. assure the quality of the results. For this reason, they SLRs are more expensive to perform than SMSs used they have developed, a version of a methodology (Velthuis, 2014). The main objective of an SLR is named NDT (Navigational Development Techniques) to identify best practices based on empirical studies, (Escalona and Aragon,´ 2008) that, in its current ver- the one of SMSs, is to provide a classification and a sion mix Scrum with Design Thinking principles. thematic analysis of a concrete topic. It is not the aim of the paper the presentation of The most widely accepted SLR method around the methodology but, basically, it covers three main software engineering, is the one proposed by Kitchen- steps: the first one is to “discover the problem”. In ham (Kitchenham and Brereton, 2013). This proposal this phase, users and engineers work together to de- concludes that a review of the literature should consist fine the problem and a first set of prototypes for the of the following phases: solution. These prototypes are improved in different • Planning: before an SLR, it is necessary to con- iterations and, at the end of this first step they get a firm the need for the research. The most impor- very high-fidelity prototype. After that, in the second tant activity is writing the research questions that 145 WEBIST 2019 - 15th International Conference on Web Information Systems and Technologies define the review protocol. proposals are highly directed towards answering re- • Conducting: is about executing the protocol that search questions on some scientific knowledge.