ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1
Ve i ying So wa e Requi emen s wi h XSLT
Amado Du n, An onio Ruiz, Bea iz Be n~ dez and Miguel To o
Depa men o Compu e Languages and Sys ems
Uni e si y o Se ille, Spain
e-mail: {amado ,a uiz,bea ,m o o}@lsi.us.es
Janua y 2002 Page 39
Abs ac
In
his
a icle, we p esen an app oach o he au oma ic e -
i ica ion o so wa e equi emen s documen s. This app oach
is based on he ep esen a ion o so wa e equi emen s in
XML and he usage o he XSLT language no only o au o-
ma ically gene a e equi emen s documen s, bu also o e i y
some desi ed quali y p ope ies and o compu e some me ics.
These ideas ha e been implemen ed in REM, an expe imen al
equi emen s managemen ool ha is also desc ibed in his
pape .
Keywo ds: equi emen s enginee ing, equi emen s e i i-
ca ion, XML, XSLT
In oduc ion
Pa aph asing Boehm [5], equi emen s alida ion and e -
i ica ion can be in o mally de ined by he ques ions
"Am
I building he igh equi emen s?"
( alida ion) and
"Am I
building he equi emen s igh ?"
( e i ica ion).
In o he wo ds, he goal o equi emen s alida ion is o
ensu e ha equi emen s documen s con ain
ac ual
equi e-
men s and ha hese equi emen s a e
all
he known equi e-
men s by he ime he equi emen s documen s a e baselined.
On he o he hand, he goal o equi emen s e i ica ion
is o ensu e he quali y o equi emen s acco ding o desi ed
quali y p ope ies. Some o hese quali y p ope ies ha e o
do wi h equi emen s seman ics bu o he s ha e o do wi h
syn ac ic, s uc u al o p agma ic aspec s o equi emen s
(see [12] o a comple e classi ica ion o quali y p ope ies o
equi emen s).
Ve i ica ion o seman ic p ope ies o equi emen s is
closely ela ed o equi emen s alida ion 1 and equi es hu-
man pa icipa ion, whe eas e i ica ion o non-seman ic
p ope ies should be as au oma ed as possible.
In his a icle, we p esen an au oma ed app oach o he
e i ica ion o some quali y p ope ies o equi emen s. Mos
o hese p ope ies can be classi ied as non-seman ic, bu
we ha e also de eloped some heu is ics o check po en ial
p oblems wi h some seman ic p ope ies. Ou app oach is
based on he eme gen echnology buil a ound X_ML [4] and
i s companion language XSLT [3].
The es o he a icle is o ganized as ollows. Fi s , we
b ie ly desc ibe he basics o XML and XSLT needed o un-
de s and he ollowing sec ions. Then, we desc ibe REM,
an expe imen al equi emen s managemen ool [8, 9], he
1Dis inc ion be ween equi emen s e i ica ion and alida ion is
some imes sub le and many au ho s use bo h e ms in e changeably.
XML model o equi emen s used by REM and how XSLT
can be used o e i y some quali y p ope ies o equi e-
men s exp essed in XML. Finally, we discuss some ela ed
wo k, p esen some esul s and poin ou u u e wo k.
XML and XSLT
XML Basics
The e a e millions o web pages w i en in HTML a ailable
in In e ne . In hese web pages, pu e in o ma ion is mixed
wi h o ma ing elemen s, making he au oma ic p ocessing
o in o ma ion e y di icul . XML [4] is a language designed
o ep esen ing pu e in o ma ion in In e ne . In o ma ion
in XML is ep esen ed by
elemen s.
An XML elemen is
made up o a s a ag, an end ag, and o he ags o da a
in be ween. Fo example, o ep esen ing he in o ma ion
abou a book, we migh ha e he ollowing XML elemen
named book:
<book isbn="X-XXX-XXXX-X">
<au ho >Misuel de Ce an es</au ho >
< i le>E1 Quijo e</ i le>
</book>
As you can see, he in o ma ion abou a book is be ween
he ibookL and j/bookL ags and i is easy o pa se by a com-
pu e p og am. The au ho and i le elemen s a e conside ed
as child en o he book elemen , hus o ming a hie a chy.
An XML documen mus always ha e one and only one
oo
elemen
a he op o i s hie a chy.
In o de o allow in o ma ion in e change be ween wo o
mo e pa ies using XML, hey mus ag ee abou elemen
g amma and seman ics. Elemen g amma is speci ied as
egula exp essions in DTDs (Documen Type De ini ions)
[4]. Fo example, he DTD agmen o he p e ious XML
da a would be he ollowing:
<!~T~MENTbook (au ho +, i le)>
<!ATTLIST
book isbn
ID #REQUIRED>
<!ELEMENT au ho (#PCDATA)>
<!~T~MENT i le (#PCDATA)>
whe e i is s a ed ha a
book
elemen can con ain one o mo e
au ho elemen s and only one i le elemen . An XML elemen
can also ha e a ibu es. Fo example, isbn is de ined as a
equi ed iden i ica ion a ibu e o book,
i.e.
he e canno
exis wo books wi h he same alue o he isbn a ibu e in
he same XML documen . Those elemen s ha con ain only
ex a e said o con ain #PCDATA, ha s ands o
pa sed
cha ac e da a.
ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 40
T ans o ming XML
The e a e many si ua ions in which XML da a need o be
ans o med. Fo example, o p esen ing XML da a as an
HTML page. XSLT [3] is a language based on ans o ma-
ion pa e ns. An XSLT s yleshee , which is also a an XML
documen , sea ches o pa e ns in he XML da a and applies
p og ammed ans o ma ions, hus gene a ing some ou pu
esul s. Fo example, i we wan ed o show in o ma ion abou
books in a web b owse , we could apply he ollowing XSLT
ans o ma ion ule:
<xsl
:
empla e ma ch="book">
<B><xsl : alue-o ~elec =" i le"/></B>
(ISBN <xsl: alue-o selec ="©isbn"/>)
was w i¢¢en by
<EM><xsl:
alue-o selec ="au ho
[1] "/></EM>
</xsl :
" empla e>
The in o mal seman ics o his XSLT ule a e "when you ind
a book elemen , gene a e i s i le in bold ace, hen i s ISBN
a ibu e (no ice he @ p e ix o a ibu es), and hen i s
i s au ho in emphasized mode". In he XSLT code, ex
li e als like TML ags can be mixed wi h elemen alues,
which a e ob ained by means o he xsl: alue-o s a emen .
I we applied his XSLT ule o he p e ious XML da a, he
esul o he ans o ma ion would be some hing like his
when ende ed in a web b owse :
E1 Quijo e (ISBN X-XXX-XXXX-X) was w i en by
Miguel de Ce an es
Al hough he e a e many mo e de ails abou XML and
XSLT, we hink ha his b ie in oduc ion should be enough
o hose eade s no amilia wi h XML echnologies in o de
o unde s and he es o his a icle.
REM:
An XML-based Requi emen s
Managemen Tool
REM (REqui emen s Manage )
is an expe imen al equi e-
men s managemen ool de eloped by one o he au ho s
[8, 9]. In
REM,
a equi emen s enginee ing (RE) p ojec is
conside ed o be composed o h ee documen s:
1. a cus ome -o ien ed equi emen s documen ( he
equi e-
men s documen
[13]), usually con aining equi emen s in
na u al language exp essed in e ms o cus ome 's ocab-
ula y, also known as
C- equi emen s
[7].
2. a de elope -o ien ed equi emen s documen ( he
speci-
ica ion documen
[13]), usually con aining equi emen s
models and mo e echnical in o ma ion, also called D-
equi emen s
[7].
3. a egis y o de ec ed con lic s and nego ia ion suppo .
In REM, C- equi emen s and con lic s a e exp essed in
na u al language using p ede ined equi emen s empla es
and some linguis ic pa e ns (see [9] o de ails). Fo exp ess-
ing D- equi emen s, we ha e chosen a subse o he UML [6]
REM A chi ec u e
REM documen s, i.e. RE p ojec s composed o he h ee doc-
umen s p e iously desc ibed, a e s o ed in ela ional ligh -
weigh da abases. When he use c ea es a new REM docu-
men , he basic s uc u e is aken om a
REM base documen
(see igu e 1), ha can be emp y o can con ain he manda-
o y sec ions o so wa e equi emen s s anda ds like [1] o
[15]. Any o dina y REM documen can be selec ed as a base
documen , so use s can c ea e hei own base documen s o
euse o he REM documen s.
Eng nee
/-s~# l ~ X~ da a
|
I
~ I uJu[
[ ~ yj ~sne LIJ ob ec s
Enginee ing P ojec s ~ ~ '
(MDB o ma )
Figu e 1: REM A chi ec u e
In o de o p o ide immedia e eedback on use ac ions,
REM gene a es XML da a co esponding o he documen
being edi ed, applies an ex e nal XSLT s yleshee ha ans-
o ms XML da a in o HTML and shows he esul ing HTML
o he use . In his way, whene e he use changes a equi e-
men s documen , he o she can see he e ec s immedia ely.
In a simila way he REM base documen can be ailo ed,
he use can also change documen appea ance by selec ing
o c ea ing di e en ex e nal XSTL s yleshee s. The de aul
XSLT s yleshee gene a es a highly hype linked documen ,
easing na iga ion o equi emen s documen s (see igh side
o igu e 2).
O he con igu able aspec o REM is he language o he
use in e ace. The use can choose i by selec ing an ex e -
nal esou ce dynamic link lib a y (DLL). A he momen o
w i ing, we ha e de eloped wo ex e nal esou ce DLLs o
REM, one in Spanish and o he in English. Ano he one in
Po uguese is unde de elopmen .
REM Use In e ace
The use in e ace o REM p esen s wo di e en iews o he
use (see igu e 2). On he le , he use can see a abbed iew
wi h h ee ee iews, one o each equi emen s documen
in he RE p ojec . On he igh hand, he esul o he XSLT
ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 3anua y 2002 Page 41
[:~j..<~ 3.1 Capabili y equi emen s
~.-~iii!~;~
3.1.1 Sys em ac o s
i % ~ ac -000~
Cos ome
• :~ i,....;~ [ACT-O002] Employee
~-.~ 3.1.2 In o ma ion s o age n
~],.l~
[IRQ-O001] In o ma ion
:,
i$'
,[XRq-OOOZ],.~o m~Uon
~1--1 ~ [IRQ-O003] In o ma ion
[] "'~!~i~ 3. ~ Z_Sy~. e_ g~se cg.~eP. ....
i.....~ I.
Ac o Cus ome asi~
!.....'~ 2, Ac o Employee q ~
• i~ :.~
i "~yT"~, 3, The sys em showsi~
: i
L,. ~l~
I
he e a e
no
a~
!.,.--% 4, Ac o Cus ome chl I
i..--.,
5. Ac o Employee as I
: .
O dh a D,
llex i iThe sys em shall beha e
as
de sc ibed in. he ollo~.~..~.~..~
.................. ~[when a cus ome wan s o en . a C~ ..........
............. .................
e i/q--![Ac o, Cu~oms* (ACT-OOOD asks 0,
a a~lable ca s
o !i
* ~_l~yJ.~.2~.~..~.~i
que ies
he
sys em
o
sys em
shows a lis o a ailab!e ¢~s .........................................
chooses
one a ailable ca
asks
0s ~en .a!
da es
cus 0ms da a
o
he p o ides ~
da es and
.~ .em .~ ~.. ..°_. .~.~..°.~L~d.:e~s. .~_~ .~ ~.. _...i
me_._~ has
en ed he
ca s i!i
Figu e 2: REM Use In e ace
ans o ma ion o he XML da a is p esen ed o he use in
a embedded web b owse .
In any o he h ee ee iews, he use can di ec ly manip-
ula e objec s by d ag and d op o by con ex menus. Only
ac ions ha ha e sense can be pe o med, ollowing a
co ec -
by-cons uc ion
app oach, hus inc easing quali y and sa ing
e i ica ion e o .
Fo example, ac ions o use case s eps can be o h ee di -
e en classes (see igu e 4):
ac o ac ion,
i he ac ion is
pe o med by an ac o ;
sys em ac ion
i he ac ion is pe -
o med by he sys em, o use
case ac ion,
i he ac ion con-
sis s o pe o ming o he use case, i.e. an use case
inclusion
o
ex ension
[6]. Ac o ac ions and use case ac ions can be
c ea ed only i some ac o o some use case ha e been p e i-
ously c ea ed. In gene al, objec s can be c ea ed by means
o con ex menus on po en ial pa en s o by means o he
c ea ion oolba .
XML Model o Requi emen s in REM
REM is based on an UML [6] model o equi emen s (a pa ial
iew o his model is shown in igu e 4). The main objec
class o he model is he
Requi emen s Documen ,
ha is
composed o a sequence o REM objec s. See igu e 3 o a
classi ica ion o REM objec s.
We ha e ansla ed ou UML model o equi emen s in o a
ela ional schema and in o a DTD. As an example, he
Use-
Case
class in igu e 4 has been ansla ed in o he ollowing
DTD elemen de ini ion:
<!RIRblENT
em:useCase
(
am:name, am: e sion,
am:au ho s?, am:sou ces?, em:commen sT,
am:impo ance,
am:u gency,
am:s a us, am:s abili y,
em:isAbs ae ?, em: igEe inEE en ,
am:p econdi ion, em:pos condi ion,
am: equency, em:s~ep*
)>
<!ATTLIST em:useCase old ID #REQUIRED>
Many o he elemen s in he p e ious DTD agmen
(commen s, igge ingEe en , p e and pos condi ion), con ains
only ex , i.e. na u al language. In REM, ex can be com-
posed o any combina ion o ee ex , e e ences o o he
objec s and TBD
(To Be De e mined)
ma ks, de ined as ol-
lows:
<!ELEMENT em: ex (#PCDATA[ em: e l em: bd)*>
<!ELEMENT am: el
(#PCDATA)>
<!ATTLIST am: el oid
IDREF #REQUIRED>
<!w~ENT em: bdEMPTY>
whe e he em: e elemen mus ha e a equi ed a ibu e
called oid ha i is decla ed as an IDIREF, i.e. a e e ence o
o he elemen wi h a ma ching iden i ica ion a ibu e alue.
An IDREF a ibu e is e y simila o a
o eign key
in ela-
ional da abases.
ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 42
REM objec
,
Sec ionappendix
Pa ag aphglossa yi em
Ex em~lg aphic ile
T aceabili yma ix
S akeholde s- ela ed objec
O ganiza ion
S akeholde
Mee ing
C-Requi emen
Objec i e
Ac o
In o ma io.ns o ag.e equi emen
Cons ai l equi emen
Func ion .l equi emen. useeas¢
Non unc ion~l equi em ea
D-Requi emen
l Objeq ype
Valu.e ype
Associa io.n ype
Sys em ope a ion
Con lic
Figu e 3: Classi ica ion o objec s in
REM
The em: bd elemen is decla ed as an EMPTY elemen ,
i.e. i canno ha e nei he subo dina e elemen s no da a. I
is simply a ma k.
Using XSLT as a Requi emen s Ve i-
ica ion Language
In he ollowing sec ions we desc ibe how some o he quali y
ac o s desc ibed in [10 can be au oma ically e i ied using
XSLT when equi emen s a e elec onically s o ed in XML
o ma acco ding o he REM DTD.
Unambigui y
A equi emen is unambiguous i and only i has only one pos-
sible in e p e a ion [1]. Ob iously, his is a seman ic p op-
e y o a equi emen and canno be au oma ically e i ied,
bu we can gi e some hin s abou po en ial ambigui ies in a
equi emen s documen .
We ag ee wi h Lei e [11] in he impo ance o unde s and-
ing he language o he p oblem and in he impo ance o
building a glossa y (called Language Ex ended Lexicon, LEL,
in [11]). Following Lei e, he glossa y should ollow wo
p inciples: he p inciple o ci cula i y, ( he glossa y mus
be as sel -con ained as possible) and he p inciple o min-
imal ocabula y (use as much glossa y i ems as possible in
S akeholde ~
REMObJec
, s°u cd~l ,
I =oo i
~[c°m nen~
C-Requi emen
impodance~
u gency~
s a u~
s abili y~
..................... _L ......
UseCase • I ~Iep ~ -Y----7~--, I
-- ~
" V_
"loesc lp '° ~]
isAbs a~
. {° demd~L--T~l~---] * i--
lgga ingE en [ •
[ ~1
= .... ,,__
p econdi ion] ~;=~ ~ .... p .....
pos condi io ~
~'~--~ ~
desc ip io~
equency~
I
~'"~" [~ e mina ion~
----~----~
.... ~ ...... 1
I
UseCaseAc lon I Sys emAc ion ! Ac o Ac lon
desc ip ion~ [ desc ip ion~
pe o manoe~ ",
*~
,
Ac o
Figu e 4: UML model o use cases in REM
you equi emen s desc ip ions). Lei e's p inciples canno
gua an ee unambigui y, bu hey can help o build unam-
biguous, unde s andable, e i iable, consis en , concise, and
c oss- e e enced equi emen s [10].
XSLT can be used o measu e glossa y ci cula i y (GLC)
and minimali y o ocabula y (MOV). GLC can be measu ed
as he a io be ween glossa y i ems and e e ences o glossa y
i ems om o he glossa y i ems. The ollowing XSLT code,
whe e we ha e decla ed a a iable o he sake o eadabili y,
can be used o compu ing GLC:
<xsl : a iable name="GLC"
selec ="coun (// em:glossa yI em)
di
coun
(// em: glossa yI em// em: e ) "/>
<xsl :
alue-o
selec =" o ma -numbe ($GLC, ' #0. O0 ~ ) "/>
whe e he exp ession // em:glcx~sa yl em is an X.Pa h
exp ession [2] meaning "any
em:glossa yl em
ele-
men descendan o he oo ", whe eas he exp ession
// e n:giossa yl em// em: e means "any em: e elemen
descendan o any em:glossa yi em descendan o he oo ".
In XPa h, he language o building na iga ion exp essions
o e XML ees, an elemen is conside ed as descendan o
o he elemen i i is i s child a any le el o dep h in he
hie a chy.
A simila a io be ween he numbe o e e ences o glos-
sa y i ems in equi emen s and he numbe o equi emen s
can be used o measu e MOV. F om he MOV iewpoin ,
ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 43
i is also possible o de ec hose "suspicious" equi emen s
ha do no ha e any e e ence o any glossa y i em in hei
ex . Since hose equi emen s a e no using he ocabula y
o he cus ome , hey should be checked o po en ial p ob-
lems o ambigui y o unde s andabili y [10]. Fo example, i
we wan o know which use cases a e "suspicious", we can
use he ollowing XSLT code:
<xsl : empla e ma ch " em:useCase [no
(.// em:
e )] "/>
U~e case
<xsl : alue-o selec =" em:name"/>
does no use any glossa y i em
</xsl : empla e>
whe e he ma ch exp ession uses b acke s o selec only
hose use cases wi h no descendan e e ences. Ano he
possibili y is o de e mine a h eshold alue o he num-
be o e e ences pe equi emen and conside as suspi-
cious all equi emen s wi h a numbe o e e ences unde
he h eshold. In ha case, he ma ch exp ession would be
em:useCase[coun (.// em: e ) i
m], wi h m being he MOV
h eshold.
Comple eness
A equi emen s documen is comple e i i includes [10]:
1. E e y hing ha he so wa e is supposed o do,
i.e. all
he equi emen s
2. Responses o he so wa e o all classes o inpu da a in
all ealizable si ua ions
3. Page numbe s, igu e and able names and e e ences, a
glossa y, uni s o measu e and e e enced ma e ial
4. No sec ions ma ked as TBD
In ou app oach, he hi d comple eness condi ion is pa -
ially sa is ied by means o he
co ec -by-cons uc ion
pa a-
digm o REM: igu e and able names a e au oma ically gen-
e a ed, e e ences a e au oma ically inse ed and upda ed,
and he use can easily c ea e a glossa y. I we wan o be
su e abou he exis ence o a sec ion named
Glossa y,
we can
apply he ollowing XSLT code:
<xsl: choose>
<xs i :when es ="// am: sec ion [ am: name=' Glossa y ' ] "/>
The e is a glossa y
</xsl: when>
<xsl : o he wise>
The e is no glossa y
</xsl : o he wise>
</xsl
:
choose>
whe e he s uc u e o med by
xsl:choose, xsl:when
and
xsl:o he wise is basically an i -else-endi s a emen wi h mul-
iple else b anches. No ice ha i we wan o check he ex-
is ence o an elemen we canno use an XSLT empla e. I
he e is no such an elemen , he empla e will ne e ma ch
and we will ha e no ou pu .
Simila XSLT code can be used o e i y i equi emen s
documen s a e
o ganized
[10],
i.e.
i hey ha e manda o y
sec ions in he manda o y o de wi h manda o y con en .
The ou h condi ion o comple eness, he absence o TBD
ma ks, can be easily e i ied using XSLT. I we wan o know
how many TBD ma ks a e in a equi emen s documen we
can apply he ollowing X_LST code:
The e
axe
<xsl : alue-o selec =" coun (// am: bd) "/>
TBD ma ks
ha would gene a e in he ou pu he numbe o occu ences
o elemen s o ype em: bd anywhe e in he XML da a. I
we wan o be mo e p ecise and we wan o know wha use
cases ha e TBD ma ks inside hei ex and how many TBD
ma ks hey ha e, we could w i e he ollowing XSLT code:
<xsl : empla e ma ch=" em:useCase [./I em: bd] "/>
Use case <xsl: alue-o selec =" em:name"/>
has <xsl: alue-o selec =" coun (.// am: bd) "/>
TBD ma ks
</xsl: empla e>
in which he selec exp ession " em:useCase[.// em: bd]"
means "any use case wi h a leas one descendan o ype
em: bd".
T aceabili y
In [10], a equi emen s documen is said o be
aceable
i
and only i i is w i en in a manne ha eases he e e -
encing o each indi idual equi emen . Since REM assigns
au oma ically an unique iden i ie o e e y equi emen ( he
equi ed iden i ie a ibu e oid, see he DTD o use cases),
his quali y ac o does no ha e o be e i ied explici ly.
Wha i nms be checked is i he o igin o e e y equi e-
men is clea ,
i.e.
i equi emen s a e
aced
[10]. In ou UML
model o equi emen s, any REM objec can be aced o and
om o he REM objec s and o hei human sou ces and au-
ho s (see igu e 4). Checking i a equi emen has sou ces
and au ho s and i i is aced o o om o he equi emen s
is easy wi h XSLT. Fo example, he ollowing XSLT em-
pla e will ma ch all use cases wi h no human sou ces:
<xsl : empla e ma ch " em: useCase [no ( am: sou ces) ] ">
Use case
<xsl: alue-o selec =" em:name"/>
has no sou ces
</xsl: empla e>
And his XSLT empla e will ma ch all non unc ional e-
qui emen s no aced o o he REIV1 objec s:
<xsl : empla e ma ch=" am: nonFunc ionalRequi emen ">
<xsl:i es "no (// em: ace[©sou ce=cux en ()/©oid])">
Non unc ional equi emen
<xsl : alue-o selec =" em: name"/>
is no aced o any objec
</xsl: i >
</xsl : empla e>
ACM SIGSOFT So wa e Enginee ing No es ol 27 no 1 Janua y 2002 Page 44
In REM, aces a e de ined as elemen s wi h wo equi ed
a ibu es o ype IDREF, namely sou ce and a ge . The use
o REM can also use aceabili y ma ices o isual checking
o non- aced equi emen s.
O he e i iable quali y
ac o s
Applying he same ideas, o he quali y ac o s de ined in [10]
can be e i ied using XSLT, o example:
• Wha equi emen s a e no anno a ed wi h ela i e im-
po ance, ela i e s abili y o e sion.
* Wha equi emen s ha e po en ially ambiguous wo ds in
hei desc ip ion, like
easy o, use - iendly,
e c. by means
o XSLT s ing unc ions like con ains [3].
• I use cases a e no well s uc u ed,
i.e.
i he e a e oo
ew o oo many
includes
o
ex ends
ela ionships.
• Wha use cases ha e oo ew o oo many s eps, o oo
much excep ions,
i.e.
oo many al e na i e cou ses.
• Wha de ined ac o s do no pa icipa e en any use case.
Rela ed Wo k
Mos wo k on au oma ed equi emen s e i ica ion is based
on Na u al Language P ocesssing (NLP), like [14] o [12].
Those app oaches, ocused on seman ic analysis o equi e-
men s, usually make equi emen s enginee s w i e equi e-
men s in a subse o na u al language, demand many com-
pu e esou ces and ha e no been widely adop ed in indus-
y.
The Au oma ed Requi emen Measu emen (ARM) ool
[16], is p obably he mos ela ed wo k o he app oach p e-
sen ed in his a icle. I is a simple ye powe ul ool ha
scans equi emen s documen s sea ching o
indica o s, i.e.
wo ds ha ha e been iden i ied as indica o s o good o bad
quali y p ope ies.
Ou app oach does no use NLP bu an open, simple
and ligh e echnology like XML/XSLT. We can o e he
same unc ionali y o ARM plus all addi ional e i ica ion
desc ibed in his pape , and he use o REM can de ined his
o he own XSLT e i ica ion s yleshee s. F om a p ac ical
poin o iew, we hink ha ou esul s a e use ul o he
a e age equi emen s enginee .
Conclusions and Fu u e Wo k
In his a icle we ha e b ie ly p esen ed an au oma ed ap-
p oach o he e i ica ion o so wa e equi emen s. Ou ap-
p oach is based on a open echnology like XML and XSLT.
In ac , i equi emen s a e ep esen ed in XML using a di -
e en DTD, many o he XSLT code p esen ed in his pape
should be easily adap ed. Ou app oach does no need ha d
compu e esou ces and i has p o ed o be use ul when used
wi h ou s uden s a he Uni e si y o Se ille.
Ou u u e wo k is ocused in de eloping quali y me ics,
so we can de ec po en ial p oblems wi h equi emen s com-
pa ing quan i a i e alues. We expec o iden i y some use ul
me ics soon by applying da a mining echniques o he e-
qui emen s documen s gene a ed by ou s uden s.
Acknowledgmen s This wo k is pa ially unded by he
Spanish CICYT p ojec
GEOZOCO
TIC 2000-1106-C02-
01 and by he in e na ional CYTED p ojec
WEST.
Re e ences
[1] IEEE Recommended P ac ice o So wa e Requi emen s
Speci ica ions. IEEE/ANSI S anda d 830-1998, Ins i u e o
Elec ical and Elec onics Enginee s, 1998.
[2] XML Pa h Language (XPa h) 1.0. W3C Recommenda ion,
No embe 1999.
[3] XSL T ans o ma ions (XSLT) 1.0. W3C Recommenda ion,
No embe 1999.
[4] Ex ensible Ma kup Language (XML) 1.0 (Second Edi ion).
W3C Recommenda ion, Oc obe 2000.
[5] B. W. Boehm. Ve i ying and Valida ing So wa e Requi e-
men s and Design Speci ica ions.
IEEE So wa e,
1(1):75-88,
1984.
[6] G. Booch, J. Rumbaugh, and I. Jacobson.
The Uni ied Mod-
eling Language Use Guide.
Addison-Wesley, 1999.
[7] J.W. B acke . So wa e Requi emen s. Cu iculum Module
SEI-CM-19-1.2, So wa e Enginee ing Ins i u e, 1990.
[8]
A. Du hn. A Me hodological F amewo k o Requi emen s
Enginee ing o In o ma ion Sys ems (in Spanish).
PhD he-
sis, Uni e si y o Se ille, 2000.
[9] A. Du hn, B. Be n£ dez, A. Ruiz, and M. To o. A Requi e-
men s Elici a ion App oach Based in Templa es and Pa -
e ns. In
WER'99 P oceedings,
Buenos Ai es, 1999.
[10] A. Da is
e al.
Iden i ying and Measu ing Quali y in a So -
wa e Requi emen s Speci ica ion. In
P oceedings o he 1s
In e na ional So wa e Me ics Symposium,
1993.
[11] J. C. S. P. Lei e
e al.
Enhancing a Requi emen s Baseline
wi h Scena ios. In
P oceedings o he 3 d IEEE In e na ional
Symposium on Requi emen s Enginee ing (RE'g7),
1997.
[12] F. Fabb ini, M. Fusani, V. Ge asi, S. Gnesi, and S. Ruggie i.
Achie ing Quali y in Na u al Language Requi emen s. In
P oceedings o he 11 h In e na ional So wa e Quali y Week,
1998.
[13] B. L. Ko i z.
P ac ical So wa e Requi emen s: A Manual o
Con en ~ S yle.
Manning, 1998.
[14] N. A. Maiden, M. Cisse, H. Pe ez, and D. Manuel. CREWS
Valida ion F ames: Pa e ns o Valida ing Sys ems Requi e-
men s. In
Fou h In e na ional Wo kshop on Requi emen s
Enginee ing: Founda ion o So wa e Quali y (RESFQ),
1998.
[15] C. Mazza, J. Fai clough, B. Mel on, D. de Pablo, A. Sche e ,
and R. S e ens.
So wa e Enginee ing S anda ds.
P en ice-
Hall, 1994.
[16] L. Rosenbe g, T. Hamme , and J. Shaw. So wa e Me ics
and Reliabili y. In
9 h In e na ional Symposium on So wa e
Reliabili y Enginee ing,
1998.