scieee Open visual document viewer

Don’t Throw your Software Prototypes Away. Reuse them!

Escalona Cuaresma, María José; García Borgoñón, Laura; Koch, Nora

Abstract

The mechanism of prototype development is considered by the research and industrial software communities as a key tool for user-developer communication. In software development, prototypes are used in requirements engineering to help elicit and validate users’ needs. Software prototypes like mockups are frequently considered throwaway artefacts and therefore they are often developed very fast, or with very few resources and discarded. In this paper we propose to change this idea, and to create prototypes that can be reused in any model-driven engineering (MDE) process. The paper presents an approach for an automatic mechanism for translating prototype models into requirements models and its implementation in a suitable tool case. This way, software developer teams will be able to dedicate resources to improving communication with users using prototypes because the knowledge acquired will be automatically transferred to the requirements phase of the development process.

Full text

29TH INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS DEVELOPMENT (ISD2021 VALENCIA, SPAIN) Don’ Th ow you So wa e P o o ypes Away. Reuse hem! M.J. Escalona 1 Uni e si y o Se ille Se ille, Spain [email protected] L. Ga cía-Bo goñon I a Inno a Za agoza, Spain lau ag@i ainno a.es N. Koch Uni e si y o Se ille Se ille, Spain [email p o ec ed] Abs ac The mechanism o p o o ype de elopmen is conside ed by he esea ch and indus ial so wa e communi ies as a key ool o use -de elope communica ion. In so wa e de elopmen , p o o ypes a e used in equi emen s enginee ing o help elici and alida e use s’ needs. So wa e p o o ypes like mockups a e equen ly conside ed h owaway a e ac s and he e o e hey a e o en de eloped e y as , o wi h e y ew esou ces and disca ded. In his pape we p opose o change his idea, and o c ea e p o o ypes ha can be eused in any model-d i en enginee ing (MDE) p ocess. The pape p esen s an app oach o an au oma ic mechanism o ansla ing p o o ype models in o equi emen s models and i s implemen a ion in a sui able ool case. This way, so wa e de elope eams will be able o dedica e esou ces o imp o ing communica ion wi h use s using p o o ypes because he knowledge acqui ed will be au oma ically ans e ed o he equi emen s phase o he de elopmen p ocess. Keywo ds: So wa e p o o ypes, model-d i en enginee ing, eusing p o o ypes 1. In oduc ion The concep o p o o ypes is no some hing new in so wa e enginee ing. In ac , p o o ypes a e used in many disciplines as a way o o e a as p e iew o he inal p oduc [6]. In ields like so wa e enginee ing, whe e he p oduc is no a physical p oduc , he idea mainly akes he o m o a se o sc eens o mockups, which mo e o less accu a ely ep esen he s uc u e o he so wa e’s u u e in e ac ion model. The e a e nume ous s a egies o de eloping so wa e p o o ypes: e ical, ho izon al o diagonal, high o low ideli y, e olu iona y, as p o o ypes, e c. Disciplines like Human-Machine In e ac ion (HMI) s udy he ad an ages and disad an ages o each s a egy o y o achie e he bes esul s [4],[8],[11]. P o o ypes a e in ended o make he end use (o he cus ome ) unde s and wha he inal so wa e p oduc will be like. P o o yping is a good way o imp o e communica ion be ween so wa e de elope s and he so-called unc ional eam (cus ome s and end use s), bu p o o ypes a e equen ly concei ed o as h owaway a e ac s [5]. Wi h excep ion o e olu iona y p o o yping he u ili y o hose p o o ypes once he wo k wi h he use has been done is always a subjec o deba e. The ac ha p o o ypes a e des ined om he s a o end up on he sc ap heap means ha hey a e o en de eloped e y as , o wi h e y ew esou ces, and he esul s o hei applica ion a e consequen ly no as good as hey could be. Howe e , i we skimp on esou ces in he p ocess o de ining, implemen ing and alida ing p o o ypes, we a e educing he quali y o he esul s hey can o e o he ou come o he p ocess. This p oduces a pa adox, in es ing in good p o o ypes p oduces good esul s, bu e y o en we ha e o cu back on he esou ces dedica ed o p o o ypes because hey a e no des ined o be one o he 1 All au ho s con ibu ed o he pape . They a e o de ed alphabe ically. ESCALONA ET AL. DON’T THROW YOUR SOFTWARE PROTOTYPES AWAY. REUSE THEM! sys em’s inal p oduc s. This pape p esen s a i s p oposal o y o sol e, o a leas educe, his pa adox. Ou esea ch ques ion is “Could we y o o e an app oach o ensu e a good ROI ( e u n o in es men ) in he de ini ion, implemen a ion and alida ion o so wa e p o o ypes?”. To y o answe his ques ion, we p opose using he model-d i en pa adigm o c ea e a mechanism ha will ensu e ha he e o in es ed in p o o ype de elopmen will be pa ially eco e ed in u u e phases o he so wa e li ecycle de elopmen by “ eusing” p o o ypes and he knowledge acqui ed in hei de elopmen . We ha e gone e en u he as we ha e de ined he me amodels and ans o ma ions needed, selec ed a ool o implemen ing he p o o ype, and de eloped a i s e sion o he ans o ma ion engine ha gene a es he equi emen s model. Rega ding ela ed wo k Ga cía F ey [4] explo es in a simila way a model-d i en enginee ing app oach o sel -explana o y use in e aces using ask ees and one-way UsiXML ans o ma ions. Ano he in e es ing wo k is he au oma ed compa ison o UI p o o ypes de eloped wi h Balsamicq and use s o ies o Rocha Sil a e al. [8] ocusing on alida ion and es ing o he use in e aces. The pape is s uc u ed as ollows: Secion 2 p esen s a global iew o ou app oach; Sec ion 3 analyses he cu en esea ch si ua ion and ou successes and ailu es in his a ea; and inally some conclusions a e d awn and u u e wo k ou lined in Sec ion 4. 2. An App oach o So wa e P o o ype Reuse This sec ion p esen s an o e iew o ou app oach. In o de o o e a sui able mechanism o eusing p o o ypes, we p opose using he model-d i en pa adigm. The idea o ou app oach is illus a ed in Figu e 1. Fig. 1. An o e iew o ou app oach The co e idea o his app oach is he ini ial de ini ion o a se o sc eens o mockups ha a e he ini ial so wa e p o o ype (P o o ype model in Fig.1). This p o o ype model has o be de ined by he So wa e Team ( he eam o equi emen s enginee s) in collabo a ion wi h he Func ional Team ( he end use s and cus ome s who a e amilia wi h he p oblems o be sol ed). Ideally, he unc ional eam will in e ac wi h he so wa e eam, who has o in e p e he needs and expec a ions o he u u e so wa e p oduc . As a esul o his in e ac ion, a p o o ype model will be de eloped. The p o o ype model will be an ins ance o a P o o ype me amodel (desc ibed in he nex sec ion). Al hough he unc ional eam only sees “sc een p o o ypes”, hus we will ac ually ha e s uc u ed p o o ypes, i.e. hey concu wi h he me amodel. In ou app oach, we also ha e ano he me amodel, he Requi emen s me amodel ha ep esen s in an abs ac o m, he in e ela ing concep s ha a e in ol ed in equi emen s (ac o s, use cases, objec s, ac ions, e c.). The objec i e is o gene a e an ins ance o his me amodel (shown as Requi emen s model in Figu e 1) using a e ac s de ined in he p o o ype model. To do his, we p opose using a T ans o ma ion Engine, an engine ha will allow us o implemen a se o de ined ans o ma ions using QVT (Que y/View/T ans o ma ion). Wi h hese ans o ma ions, we gua an ee ha he knowledge acqui ed wi h he unc ional eam is ansla ed in o he equi emen s model: p o o ype knowledge is hus being eused au oma ically. This o e s se e al ad an ages: ISD2021 SPAIN 1. We can gua an ee ha no knowledge is los in he ansi ion om p o o ypes o equi emen s. 2. The ansi ion akes place au oma ically. 3. A So wa e Team can dedica e mo e esou ces (mo e ime, o ins ance) o making good p o o ypes and o eally unde s anding he unc ional eam; mo e esou ces o analysing he p oblem and knowing use s’ needs and cons ain s; and mo e esou ces o alida ing he p o o ype model. They can make he in es men because hey know ha hey a e going o ob ain a sui able ROI. I hey ha e good p o o ypes hey will au oma ically ha e good equi emen s models. 4. Ha ing good equi emen s models is a c i ical ac o o gua an ee he success o a so wa e p ojec . This is widely ecognised in he so wa e communi y [10]. 5. In es men in p o o ype de ini ion also helps o de ec ea ly con lic s and o educe he cos o sol ing hem [7]. Apa om hese ad an ages, he e a e o he , mo e impo an aspec s o ou app oach. Figu e 1 shows ha ou ans o ma ions engine also conside s he possibili y o upda ing he p o o ype model om he equi emen s model. This is because we conside i necessa y o de ine bidi ec ional ans o ma ions. In so wa e de elopmen , equi emen s o en change o e ol e, abo e all when an agile o an i e a i e me hodology is used. The so wa e eam may e en ind e o s o incong uences when hey a e wo king on hem o ansla ing hem in o models ha a e mo e de ailed in he analysis phase. To unde s and he need o such bidi ec ional ans o ma ions, le us imagine a e y ypical si ua ion. A unc ional eam de elops a p o o ype model ha is ansla ed in o a equi emen s model. The so wa e eam inds an incong uence in he equi emen model and wan s o p opose a change. They ha e wo op ions (i bidi ec ional ans o ma ions a e no conside ed): 1. Make he change in he equi emen s model, in o m he unc ional eam o alida e he change and lea e he o iginal p o o ype model as i is. This is he mos common p ocedu e in indus y, bu i has wo p oblems: (1) I p oduces incong uence be ween he p o o ype and he equi emen s model. (2) Func ional eams e y o en do no unde s and equi emen s models e y well ( hey a e no usually so wa e expe s), so o hem i is di icul o unde s and he changes. 2. Make he change in he equi emen s model and also in he p o o ype model, alida e he las wi h he use and egene a e he equi emen s model. This o e comes he disad an ages desc ibed in op ion 1 bu is usually a e y expensi e p ocess and is he e o e no equen ly used in indus y. I ins ead bidi ec ional ans o ma ions a e conside ed, as we do, he so wa e eam can make he change in he equi emen s model, execu e he ans o ma ion o gene a e a new e sion o a p o o ype model and e alua e i wi h he unc ional eam. In such a case, he cos is low and consis ency be ween p o o ype l and equi emen s model is gua an eed. 3. A Fi s Implemen a ion o Ou App oach Reusing so wa e p o o ypes is no a new idea. I has been s udied in se e al wo ks. As a i s s ep in ou esea ch, we pe o med a li e a u e e iew ha endo sed ou esea ch ques ion [9]. In ou s udy, howe e , we disco e ed ha cu en wo ks o e no good global solu ions. Fi s ly, he e is li le homogenei y in he e minology used. The concep s o so wa e p o o ypes, mockups, e c, a e mixed up. E en he concep o so wa e p o o ype euse is no a widely accep ed concep , and is equen ly used o e e o di e en ideas. Ou idea o p o o ype euse is ha o a cheap mechanism: ha is o say, a mechanism ha makes i possible o ansla e he knowledge ob ained h ough he de ini ion, implemen a ion and alida ion o so wa e p o o ypes in o he equi emen phase as au oma ically as possible and p ac ically wi hou addi ional e o s. The knowledge needs o be aceable. I an e o o an inconsis ency o igina ing in he equi emen s is de ec ed du ing analysis, i should be possible o “back ack” and iden i y he exac poin in he p o o ype de ini ion o alida ion whe e ha e o o inconsis ency was de ined and alida ed. The si ua ion o ESCALONA ET AL. DON’T THROW YOUR SOFTWARE PROTOTYPES AWAY. REUSE THEM! e minological he e ogenei y makes i e y di icul o s udy he s a e o he a , so ou i s ailu e was o y o ind ea lie ela ed wo ks o esea ch ha migh help us. We a e cu en ly inishing an SLR (Sys ema ic Li e a u e Re iew) o ex end ha ini ial e iew. Secondly, in he s a e o he a we ound e y li le ma e ial ele an o indus y. In ac , only oys o academic examples we e ound in he app oaches epo ed. The e o e, a his poin in ou esea ch, ano he ques ion a ose: “Is so wa e p o o ype euse a good idea o indus y?” Be o e con inuing wo king wi h ou app oach, we ied o answe his ques ion by execu ing a p oo o concep wi h wo companies: an SME (small and medium- sized en e p ise) and a big company [10]. Ou i s success was o ealize ha indus y is in e es ed in his kind o solu ion, bu only i we o e ools suppo ing he p ocess o eusing p o o ypes. Wi h he knowledge ob ained om he SLR and he p oo o concep , we a e now wo king on ou app oach. On he me amodel le el, we ha e de ined a no el p o o ype me amodel based on he knowledge acqui ed. The me amodel was ins an ia ed in a ool called d aw.io [1]. We selec ed his ool a e ca ying ou a compa a i e s udy o di e en ools. d aw.io is an open access ool ha allows us o de ine a ool-box whe e use s can use he me amodel, de ining classes o i s ins an ia ion. Fo he equi emen s me amodel we used he NDT (Na iga ional De elopmen Techniques) [2] equi emen s me amodel. I is based on WebRE [3], a gene al equi emen s me amodel ob ained om se e al app oaches. NDT ex ends WebRE and has been success ully applied i in indus y, hus gua an eeing i s use ulness. d aw.io and NDT-Sui e, he ool suppo ing he NDT me hodology o e us he possibili y o implemen ing he ans o ma ions needed o ou app oach. The e o e, we a e now wo king on he implemen a ion o a bidi ec ional ans o ma ion engine: on he one hand, i eads models om d aw.io and ans o ms he concep s in o he NDT equi emen s model; and on he o he hand, i eads he NDT equi emen s models and ans o ms hem upda ing he d aw.io models. We cu en ly ha e de eloped a i s e sion o his engine, and a e de ining he second e sion ollowing alida ion wi h some companies. In Table 1, a simple scena io is p esen ed, which in he i s column explains how ou app oach is used in p ac ice. The second column desc ibes each s ep, and indica es he ool employed. The las wo ows a e op ional; hey a e only execu ed i bidi ec ional ans o ma ions a e equi ed. Table 1. A sho scena io o demons a ing ou app oach S ep Commen 1. The so wa e eam uses d aw.io o d aw a p o o ype model using ou plugin. The p o o ype model is de ined acco ding o ou p o o ype me amodel, hus an ins ance o he p o o ype me amodel is buil in e nally. 2. The so wa e eam and unc ional eam wo k o e alua e he p o o ype model This is cu en ly done manually. 3. The so wa e eam uses he NDT- Sui e o ans o ms he d aw.io p o o ypes in o an NDT equi emen s model. The ans o ma ion engine is execu ed. I is p esen ed as an En e p ise A chi ec plugin. 4. The so wa e eam in oduces new concep s in o a NDT equi emen s model. Changes a e pe o med wi h he En e p ise pluging o NDT. 5. The so wa e eam uses he plugin o NDT-Sui e o ans o m hem in o d aw.io p o o ypes. The ans o ma ion is ca ied ou in he o he di ec ion, om NDT-Sui e o d aw.io. I is p esen ed as an En e p ise A chi ec plugin oo, bu changes a e shown in d aw.io. ISD2021 SPAIN 4. Conclusions and Fu u e Wo k P o o yping is a s a egy used in a la ge numbe o disciplines. Fo yea s he so wa e enginee ing communi y has acknowledged i as e y use ul o acili a ing communica ion o unc ional eams. Howe e , eams’ esou ces o de eloping p o o ypes a e ini e and, in many cases, insu icien . This, coupled wi h he ac ha hey, wi h excep ion o he case o e olu iona y p o o ypes, a e la gely conside ed a h owaway p oduc , means ha he in o ma ion ha can be ob ained om hem is no ully exploi ed. In his wo k we ha e analysed he po en ial o p o o ypes and looked a why his ool mus be aken in o accoun in o de o unde s and and mee equi emen s. This pape p esen s an ea ly s age app oach ha p oposes a MDE-based mechanism o ensu ing ha he knowledge om p o o ypes can be eused. Ou app oach consis s in he use o models and ans o ma ions o au oma ically ansla e in o ma ion om p o o ypes in o equi emen s a e ac s. I gua an ees ha he in es men o esou ces in he de ini ion, implemen a ion and alida ion o p o o ypes will be eco e ed in u u e phases. Wi h his app oach, p o o ypes a e no longe a h owaway i em. Ha ing conside ed bidi ec ional ans o ma ions, we can also o e mechanisms o acing u u e changes o u u e so wa e e olu ions, allowing ongoing li ecycle imp o emen s. The pape desc ibes how we a e implemen ing a ool o suppo ou app oach. We ha e alida ed wi h indus y ha his idea can play a ele an ole in he so wa e de elopmen p ocess [9]. Ou eme ging idea o euse p o o ypes o e s many possibili ies o u u e wo k. We ha e o inish implemen ing he app oach’s a chi ec u e and ool. We s ill need o e alua e he inal ool in a eal p ojec , and o lea n i s s eng hs and weaknesses om academia and indus y. O he impo an u u e wo k will be o y o quan i y he ROI ob ained when using he ool. The s a ing hypo hesis is ha in es ing in p o o ypes can imp o e so wa e because p o o ypes p o ides a ool o be e communica ion and p oblem unde s anding in ea ly s ages o he de elopmen p ocess. Al hough his hypo hesis is widely accep ed, howe e , we need o ind a ealis ic way o measu e such imp o emen s. This is essen ial o he use o ou app oach by he indus y [10]. Acknowledgmen s This esea ch was suppo ed by p ojec AT17_5904_USE, “Socie ySo : T ans e o ools, policies, and p inciples o c ea ing quali y so wa e o he digi al socie y”, o he Andalusian Regional Go e nmen ’s Depa men o Economy, Knowledge, Business, and Uni e si ies (Spain) and by he NICO p ojec (PID2019-105455GB-C31) o he Spanish Go e nmen ’s Minis y o Science, Inno a ion and Uni e si y. Re e ences 1. D awIO. h ps://d awio-app.com/ 2. Escalona, M. J., & A agón, G. (2008). NDT. A model-d i en app oach o web equi emen s. IEEE T ansac ions on so wa e enginee ing, 34(3), 377-390. 3. Escalona, M. J., & Koch, N. (2007). Me amodeling he equi emen s o web sys ems. In Web In o ma ion Sys ems and Technologies (pp. 267-280). Sp inge , Be lin, Heidelbe g . 4. Ga cía F ey A. (2010). Sel -explana o y Use In e aces by Model-d i en Enginee ing . P oceedings o he 2nd ACM SIGCHI Symposium on Enginee ing In e ac i e Compu ing Sys ems (page 344), NY, USA, ACM 5. He el, H., & Di ma , A. (2017). Design suppo o in eg a ed e olu iona y and explo a o y p o o yping. In P oceedings o he ACM SIGCHI Symposium on Enginee ing In e ac i e Compu ing Sys ems (pp. 105-110). 6. Jensen, L. S., Özkil, A. G., & Mo ensen, N. H. (2016). P o o ypes in enginee ing design: De ini ions and s a egies. In DS 84: P oceedings o he DESIGN 2016 14 h In e na ional Design Con e ence (pp. 821-830). 7. Mall, R. (2018). Fundamen als o so wa e enginee ing. PHI Lea ning P . L d.. 8. Rocha Sil a, T., Winckle , M., and T ae be ge , H. (2020). Ensu ing he Consis ency ESCALONA ET AL. DON’T THROW YOUR SOFTWARE PROTOTYPES AWAY. REUSE THEM! be ween Use Requi emen s and Task Models: A Beha io -Based Au oma ed App oach, P oc. o he ACM on Human-Compu e In e ac ion, Vol. 4, Issue EICS, A icle (pp 1–32) 9. Sánchez-Villa ín, A., San os-Mon año, A., & En íquez, J. G. (2019). Au oma ic Reuse o P o o ypes in So wa e Enginee ing: A Su ey o A ailable Tools. In WEBIST (pp. 144- 150). 10. Sánchez-Villa ín, A., San os-Mon año, A., Koch, N., & Casas, D. L. (2020). P o o ypes as S a ing Poin in MDE: P oo o Concep . In WEBIST (pp. 365-372). 11. Su an o, B. (2015, Augus ). So wa e p o o ypes: Enhancing he quali y o equi emen s enginee ing p ocess. In 2015 In e na ional Symposium on Technology Managemen and Eme ging Technologies (ISTMET) (pp. 148-153). IEE