scieee Science in your language
[en] (orig)

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

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.

Read accessible full text

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

Author: Escalona Cuaresma, María José; García Borgoñón, Laura; Koch, Nora
Publisher: Universitat Politècnica de València
Year: 2021
Source: https://idus.us.es/bitstreams/bc85d017-9fd0-4972-8aca-6afe567f863a/download
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