scieee Science in your language
[en] (orig)

Verifying Software Requirements with XSLT

Abstract

In this article, we present an approach for the automatic verification of software requirements documents. This approach is based on the representation of software requirements in XML and the usage of the XSLT language not only to automatically generate requirements documents, but also to verify some desired quality properties and to compute some metrics. These ideas have been implemented in REM, an experimental requirements management tool that is also described in this paper.

Read accessible full text

Verifying Software Requirements with XSLT

Author: Durán Toro, Amador; Ruiz Cortés, Antonio; Bernárdez Jiménez, Beatriz; Toro Bonilla, Miguel
Publisher: ACM
Year: 2002
DOI: 10.1145/566493.1148028
Source: https://idus.us.es/bitstreams/224e5de5-9d78-4e85-bd71-d6d46753df23/download
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.