Upload
meddou
View
235
Download
0
Embed Size (px)
Citation preview
8/18/2019 Requirements Documentation 2005
1/47
8/18/2019 Requirements Documentation 2005
2/47
8/18/2019 Requirements Documentation 2005
3/47
3
%rob(ems in #e-e(o'ing com'uterbase# systems since 1./0s
&oo many systems are (ate or o-er bu#get
Systems #ont #o what the users rea((y want orne-er use# to the effecti-eness
there are rare(y a sing(e reason for these 'rob(emsbut a ma,or contributory factor is #ifficu(ties withsystem requirements2
8/18/2019 Requirements Documentation 2005
4/47
4
hat are requirements4
A s'ecification of what shou(# be im'(emente#
Define# at ear(y stages of a system #e-e(o'ment
"nc(u#e5
how the system shou(# beha-e
a''(ication #omain information
constraints on the systems o'eration
s'ecification of a system 'ro'erty or attribute6
8/18/2019 Requirements Documentation 2005
5/47
5
hat is requirements engineering4
A re(ati-e(y new term in-ente# to co-er a(( of theacti-ities in-o(-e# in #isco-ering #ocumenting an#maintaining a set of requirements for a com'uter*base# system6
8se of the term engineering im'(ies thatsystematic an# re'eatab(e techniques shou(# be
use# to ensure that system requirements arecom'(ete consistent an# re(e-ant6
8/18/2019 Requirements Documentation 2005
6/47
6
9ow much #oes requirementsengineering cost4
De'en#s on the ty'e an# size of the system being#e-e(o'e#
"n a sur-ey for (arge har#ware:software systemsabout 1!; of the tota( bu#get is ta
8/18/2019 Requirements Documentation 2005
7/47
7
Common requirements 'rob(ems
Dont ref(ect the rea( nee#s of the customers
"nconsistent an# incom'(ete
$='ensi-e to maisun#erstan#ings between customers those#e-e(o'ing the system requirements an# softwareengineers
8/18/2019 Requirements Documentation 2005
8/47
8/18/2019 Requirements Documentation 2005
9/47
9
hat is a requirements engineering'rocess4
Requirements engineering 'rocess is a structure# setof acti-ities which are fo((owe# to #eri-e -a(i#ate an#maintain a systems requirements #ocument6 &heacti-ities inc(u#e5
Requirements e(icitation
Requirements ana(ysis an# negotiation
Requirements #ocumentation
Requirements -a(i#ation
8/18/2019 Requirements Documentation 2005
10/47
10
Requirements e(icitation techniques
&he system requirements are #isco-ere# throughconsu(tation with sta
8/18/2019 Requirements Documentation 2005
11/47
11
"nter-iews
C(ose# (oo'5 inter-iewer (oo
8/18/2019 Requirements Documentation 2005
12/47
12
Scenarios
Stories of how the system wi(( be use#
$n#*users an# other sta
8/18/2019 Requirements Documentation 2005
13/47
13
An e=am'(e scenario
Scenario of or#ering a re'ort from a (ibrary5
&he user (ogs on the system
&he or#er #ocument is issue#
&he reference number of the #ocument is entere#
A #e(i-ery o'tion is se(ecte#
&he user (ogs out6
$=ce'tion5 if the reference number is incorrect the user isoffere# to enter the #ocument reference or in-o
8/18/2019 Requirements Documentation 2005
14/47
14
Requirements Reuse
A goo# 'ractice to reuse as much
8/18/2019 Requirements Documentation 2005
15/47
15
%rototy'ing
An initia( -ersion of the system which is a-ai(ab(eear(y in the #e-e(o'ment 'rocess
9e('s e(icit an# -a(i#ate the system requirements
throw*away 'rototy'es use# to he(' e(icit an#ana(yze the requirements are often ca((e#
"n contrast e-o(utionary 'rototy'es are inten#e# to#e(i-er a wor
8/18/2019 Requirements Documentation 2005
16/47
16
%rototy'ing – cont@#
%rototy'es he(' to estab(ish the o-era(( feasibi(ityan# usefu(ness of the system
&he on(y effecti-e way of #e-e(o'ing system userinterface6
>ay be 'ossib(e to be use# in system tests (ater in
the -a(i#ation 'rocess
8/18/2019 Requirements Documentation 2005
17/47
17
Requirements ana(ysis an#negotiation
Aim at #isco-ering 'rob(ems with the systemrequirements an# reach agreement on changes tosatisfy a(( system sta
8/18/2019 Requirements Documentation 2005
18/47
18
Ana(ysis chec
8/18/2019 Requirements Documentation 2005
19/47
19
"nteraction matrices
8se# to #isco-er the interactions betweenrequirements an# to high(ight requirementsconf(icts an# o-er(a's
"f we can not assume that conf(icts #o not e=ist weshou(# assume that there is a 'otentia( conf(ict
8n#etecte# conf(icts are much more e='ensi-e toreso(-e
8/18/2019 Requirements Documentation 2005
20/47
20
$=am'(e – "nteraction matrices
+5 +)$RA%
C5 C+?F"C&
Requirement R1 R2 R3 R4 R5 R6
R1 - - O - C C
R2 - - - - - -
R3 O - - O - O
R4 - - O - C C
R5 C - - C - -
R6 C - O C - -
8/18/2019 Requirements Documentation 2005
21/47
21
Requirements negotiation
Discussing conf(icts an# fin#ing some com'romise which a((of the staeetings are most effecti-e way6 >eetings shou(# be
con#ucte# in three stages5
An information stage e='(aining the nature of the 'rob(em
A #iscussion stage in which sta
8/18/2019 Requirements Documentation 2005
22/47
22
Requirements Documentation
&here are many #ifferent ways to structure therequirements #ocuments #e'en#ing on5
&he ty'e of the system being #e-e(o'e#
&he (e-e( of #etai( inc(u#e#
+rganizationa( 'ractice
Bu#get
Sche#u(e
8/18/2019 Requirements Documentation 2005
23/47
23
Stan#ar# &em'(ates
$nsures that a(( the essentia( information is inc(u#e#
A number of #ifferent (arge organizations such as the 8S De'artmentof Defense an# "$$$ ha-e #efine# stan#ar#s for requirements#ocuments
%robab(y the most acce'tab(e of these stan#ar#s is the "$$$:A?S" 30*1..3
&he stan#ar# recognizes #ifferences between systems an# a((ows forsome -ariations in the structure6
&here is a (ist of stab(e an# -ariant 'arts5
Stab(e 'arts
)ariant 'arts
8/18/2019 Requirements Documentation 2005
24/47
24
"$$$:A?S" 30 * 1..3 Introduction:
%ur'ose of the requirements #ocument
Sco'e of 'ro#uct
Definitions acronyms an# abbre-iations
References
+-er-iew of the remain#er of the #ocument
General Description: %ro#uct 'ers'ecti-e
%ro#uct functions
8ser characteristics
enera( constraints
Assum'tions an# #e'en#encies
8/18/2019 Requirements Documentation 2005
25/47
25
"$$$:A?S" 30 – 1..3 – cont@#
S'ecific requirements
Co-ering functiona( non*functiona( an# interfacerequirements6 &hese shou(# inc(u#e e=terna(
interfaces functiona(ity 'erformance requirements(ogica( requirements #esign constraints systemattributes an# qua(ity characteristics
A''en#ices
"n#e=
8/18/2019 Requirements Documentation 2005
26/47
26
A tem'(ate base# on "$$$:A?S"30 – 1..3
%reface
"ntro#uction Definition of the 'ro#uct its e='ecte# usage an# an
o-er-iew of its functiona(ity
(ossary Definition of technica( terms an# abbre-iations use#
enera( user requirements &he systems requirements from the 'ers'ecti-e of the user
System architecture A high*(e-e( o-er-iew of the antici'ate# system architecture
showing the #istribution of functions across system mo#u(es
8/18/2019 Requirements Documentation 2005
27/47
27
$=am'(e – cont@#
9ar#ware s'ecification +'tiona( 'art for s'ecifying of the har#ware that the software system is
to e='ecte# contro(
Detai(e# software s'ecification Detai(e# #escri'tion of the e='ecte# system functiona(ity
Re(iabi(ity an# 'erformance requirements Describes the re(iabi(ity an# 'erformance e='ecte#6
A''en#ices for 9ar#ware interface s'ecification
Software com'onents Data structures s'ecification Data*f(ow mo#e(s of the software system Detai(e# ob,ect mo#e(s of the software system
"n#e=
8/18/2019 Requirements Documentation 2005
28/47
28
Requirements -a(i#ation
&he 'rocess out'uts are as fo((ows5
A (ist of 'rob(ems
Agree# so(ution
&echniques for requirements -a(i#ation5
Requirements re-iews5 "n-o(-es a grou' of 'eo'(e who rea#an# ana(yze the requirements
%re*re-iew chec
8/18/2019 Requirements Documentation 2005
29/47
29
8ser manua( #e-e(o'ment 8ser manua( #e-e(o'ment5
Rewriting the requirements in a #ifferent way is a -ery effecti-e -a(i#ationtechnique6
&o rewrite the #ocument you must un#erstan# the requirements an# there(ationshi's6
De-e(o'ing this un#erstan#ing re-ea(s conf(icts omissions an#inconsistencies6
A user manua( shou(# inc(u#e the fo((owing information5
A #escri'tion of the functiona(ity an# how to access the functiona(ity throughthe user interface
A #escri'tion of how to reco-er from #ifficu(ties
"nsta((ation instructions for users
8/18/2019 Requirements Documentation 2005
30/47
30
Actors in requirements engineering'rocess
Domain e='ert5 'ro-i#e information about the a''(ication#omain an# the s'ecific 'rob(em in that #omain which is to beso(-e#
System en#*user5 wi(( use the system after #e(i-ery
Requirements engineer5 e(iciting an# s'ecifying therequirements
Software engineer5 res'onsib(e for #e-e(o'ing the software
system
%ro,ect manager5 '(anning an# estimating the 'rototy'ing'ro,ect
8/18/2019 Requirements Documentation 2005
31/47
31
Structure# Ana(ysis an# Design&echnique SAD&2
De-e(o'e# in the (ate 1.70s by Ross
Base# on #ata*f(ow mo#e(s that -iew the system as aset of interacting acti-ities
Decom'oses the 'rob(em into a set of hierarchica(#iagram each com'ose# of a set of bo=es an# arrows
$ach (ower (e-e( is #ocumente# se'arate(y an#re'resents the refinement to the 're-ious (e-e(
&he most abstract (e-e( is the conte=t #iagramre'resenting the systems acti-ities with a set ofin'ut:out'uts6
8/18/2019 Requirements Documentation 2005
32/47
32
SAD& -iew'oints
SAD& #oes not ha-e an e='(icit notion of-iew'oints -iew'oints are an intuiti-e e=tension
AC&")"&E
Contro(
>echanism
+ut'ut"n'ut
8/18/2019 Requirements Documentation 2005
33/47
33
$=am'(e
"ssue (ibraryitem
ibrary car#
Return Date
Requeste# "tem
"ssue# item ibrary 8serG"ssue c(er
8/18/2019 Requirements Documentation 2005
34/47
34
$=am'(e – cont@#
8ser #atabase
ibrary Car#
"tem #atabase
Chec< user
Chec< item
"ssue item
Requeste# item
Return #ate
8ser #etai(
8ser status
8'#ate #etai(s
"ssue# item
"tema-ai(abi(ity
"tem status
Chec
8/18/2019 Requirements Documentation 2005
35/47
35
)iew'oint*oriente# System$ngineering )+S$2
De-e(o'e# in "m'eria( Co((ege on#on in ear(y1./0s
)+S$ is a framewor< that a##resses the entiresystem #e-e(o'ment cyc(e
8ses #ata*f(ow an# state transition scheme tomo#e( the system wor(#
Requires further e=amination of consistencybetween #ifferent -iew'oints
8/18/2019 Requirements Documentation 2005
36/47
8/18/2019 Requirements Documentation 2005
37/47
37
$=am'(e – a )+S$ state transition
+ff*#es<
Chec
8/18/2019 Requirements Documentation 2005
38/47
38
8se cases
8se# in ++ Ana(ysis
Definition
Describes the sequence of e-ents of some ty'es of usersactors2 using some 'art of system functiona(ity tocom'(ete a 'rocess
Actors5 A 'erson organization or e=terna( system'(aying a ro(e in some interactions with the system
Associations5 interactions between actors an# use cases
8/18/2019 Requirements Documentation 2005
39/47
39
8se cases – e=am'(e
Actor action System response16 &his use case begins when a Customer
arri-es at a %+S& chec
8/18/2019 Requirements Documentation 2005
40/47
40
8se cases – e=am'(e – cont@#
/6 &he Cashier te((s the Customer the
tota(6
76 &he Customer gi-es a cash 'ayment'ossib(y greater than the sa(e tota(6
6 &he Cashier recor#s the cash recei-e#
amount6
.6 Shows the ba(ance #ue bac< to the
Customer6 enerate a recei't6106 &he Cashier #e'osits the cash
recei-e# an# e=tracts the ba(ance owing6
116 ogs the com'(ete# sa(e6 &he Cashier
gi-es the ba(ance owing an# the 'rinte#recei't to the Customer6
16 &he Customer (ea-es with the items
'urchase#6
Alternative Courses I ine 75 Customer #i#n@t ha-e enough cash6 Cance( sa(es
transaction
8/18/2019 Requirements Documentation 2005
41/47
41
8se Cases Diagrams in 8>
8se cases – horizonta( e((i'ses
Actors – stic< figures
Associations – (ines the arrowhea# in#icates the#irection of initia( in-ocation2
System boun#ary bo= o'tiona(2
8/18/2019 Requirements Documentation 2005
42/47
42
A sim'(e use case #iagram
8/18/2019 Requirements Documentation 2005
43/47
43
Common 'rob(ems in writingrequirements
Requirements are written in com'(e= con#itiona(c(auses which are confusing
&ermino(ogy is use# in a s(o''y an# inconsistentway
&he writers of the requirement assume that the
rea#er has s'ecific
8/18/2019 Requirements Documentation 2005
44/47
44
&hings that the writer shou(# bearin min#
Requirements are rea# more often than they arewritten6 "n-est more effort to write #ocuments thatare easy to rea# an# un#erstan#
Rea#ers of requirements come from #i-ersebac
8/18/2019 Requirements Documentation 2005
45/47
45
ui#e(ines
Define stan#ar# tem'(ates for #escribingrequirements
8se (anguage sim'(y concise(y an# consistent(y6 8seshort sentences an# 'aragra'hs
8se #iagrams a''ro'riate(y to 'resent o-er-iews an#re(ationshi's between entities
S'ecify requirements quantitati-e(y number of usersres'onse time requirements etc62
8/18/2019 Requirements Documentation 2005
46/47
46
Juestions
J1 – "#entify 10 functiona( system requirementsfor an on(ine uni-ersity (ibrary system6
J – rite use cases for the (ibrary system in J1an# #raw the use case #iagrams6
J3 – Draw state transition an# #ata*f(ow #iagramsfor the (ibrary system6
8/18/2019 Requirements Documentation 2005
47/47
References
Bahati Sanga Assessing an# im'ro-ing the qua(ity of softwarerequirements s'ecification #ocuments >c>aster 8ni-ersity 003
6 Kotonya Requirements $ngineering 'rocesses an# techniquesi(ey 1..7
R6S6 %ressman Software $ngineering a 'ractitioners a''roachFifth e#ition >craw*9i((
D6>6 Berry 8sers manua(s as a requirements s'ecification 003
Lhiming iu +b,ect*+riente# Software De-e(o'ment with
8> &he 8nite# ?ations 8ni-ersity Mu(y 00
9ow to Draw 8> 8se Case Diagrams by Scott 6 Amb(era-ai(ab(e on(ine athtt'5::www6agi(emo#e(ing6com:artifacts:useCaseDiagram6htm
http://www.agilemodeling.com/artifacts/useCaseDiagram.htmhttp://www.agilemodeling.com/artifacts/useCaseDiagram.htm