Requirements Documentation 2005

  • 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